ARQUITECTURA DEL SOFTWARE: CRITERIOS PARA UNA ARQUITECTURA AGIL

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ARQUITECTURA DEL SOFTWARE: CRITERIOS PARA UNA ARQUITECTURA AGIL"

Transcripción

1 ARQUITECTURA DEL SOFTWARE: CRITERIOS PARA UNA ARQUITECTURA AGIL Luis Freddy Muñoz Sanabria Estudiante de Doctorado en Ciencias de la Electrónica Universidad del Cauca, Popayán Alvaro Alvarez losano Director Programa de Ingeniería de Sistemas Fundación Universitaria de Popayán LOGICIEL RESEARCH GROUP Resumen Las arquitecturas en el desarrollo de software están cobrando cada vez mayor importancia como atributo de calidad en el desarrollo de software, y ello ha motivado a que las metodologías para el desarrollo de software, busquen la integración de actividades y técnicas de arquitectura en sus procesos de desarrollo. En este trabajo, se presentan algunas arquitecturas planteadas para metodologías ágiles, se hace un ligero análisis de ellas; y se describe también cuales deben ser los criterios mínimos para una arquitectura que sin salirse de los esquemas de rigurosidad, cumpla con los requerimientos del manifiesto ágil. Palabras claves: Arquitecturas, Manifiesto ágil, iso/iec, integración. Abstract The architectures in software development are becoming increasingly important as an attribute of quality in software development, and this has led to methodologies for software development, seeking the integration of activities and architecture techniques in their process of development. In this work, we have raised some architectures for agile methodologies, is a brief analysis of them, and also describes which should be the minimum criteria for an architecture without departing from the rigorous schedules, meets the requirements of the agile manifest. Keywords: Architecture, Agile Manifesto, ISO / IEC, integration.

2 INTRODUCCION La arquitectura definida como la estructura o estructuras de un sistema, que contiene unos elementos software, unas propiedades visibles al exterior y sus relaciones. [1], o también como la descripción de los subsistemas y componentes de un sistema software y las relaciones entre estos. Los subsistemas son especificados desde diversas vistas para mostrar las propiedades funcionales y no funcionales. Es un artefacto, resultado de la actividad de diseño de software [2]. Es así como la arquitectura, ha toma gran importancia en el desarrollo de software. Debido a que es en la arquitectura donde se negocian los grandes sucesos del desarrollo, y donde se plantean las estrategias parta la obtención de un producto cada vez mejor. Todo debido a que el arquitecto (actor principal en la arquitectura), obtiene la información sobre el problema y diseña una solución que satisfaga los requisitos funcionales y no funcionales manteniendo la flexibilidad cuando los requisitos cambien, apoyado en patrones y modelos y frameworks. Por otro lado, la arquitectura, participa activamente en todas las fases del desarrollo y establece lineamientos generales que debe ser tenidos en cuenta durante todo el proyecto. Lo que le permite alcanzar estándares de calidad fundamentados en las características que se definen para ello (IEEE 1471) (ver figura 1) Figura 1 tomado de Grupo de Investigación de software EAFIT) Para las metodologías prescriptivas o tradicionales, la arquitectura de software bajo los esquemas presentados, fortaleció el desarrollo de soluciones software, implementó y solidificó la documentación necesaria para soportar cada fase del desarrollo y permitió alcanzar altos niveles de flexibilidad y mejoramiento tendientes a promover nuevas estrategias que surgen desde el planteamiento de la misma arquitectura. El asunto se torna de otro color por así decirlo, cuando queremos someter a las metodologías bajo estos esquemas arquitecturales, que por el tiempo de diseño, y la efectividad con que se pinta cada artefacto, hecha a perder muchos de los beneficios que pregona el manifiesto ágil. Por tanto, este trabajo, intenta proponer deben ser los criterios que han de tenerse en cuenta para trazar una arquitectura ágil, que soporte los principios de las metodologías de desarrollo modernas.

3 1. EL PROBLEMA Dentro de un marco de proceso software, cómo consolidar una arquitectura que cumpla con las condiciones y requisitos del manifiesto ágil, sin perder los criterios de calidad designados por estándares internacionales como la norma ISO/IEC 9126? Aunque esta propuesta trata muy bien las técnicas de especificación arquitectónico, no trata con profundidad las tareas de análisis de sistemas, las cuales son comunes al desarrollo de la interacción con el usuario importante dentro de las metodologías ágiles y al desarrollo de la parte interna del sistema. 2. TRABAJOS RELACIONADOS 2.1 CICLO DE VIDA EN ESTRELLA Propuesto por Hix y Hartson [3] un procesos de desarrollo centrado en el usuario, y que establecen su propuesta, basado en criterios de Interacción Humano computador (IPO). Este ciclo (Representado en la Figura 2), se fundamenta en la evaluación de cada actividad. Igual que las metodologías en cascada [4], no se puede cambiar de actividad hasta tanto no se haya evaluado completamente la anterior. Ello no prescribe cual es el orden o secuencia de cada actividad. Esto destaca el nivel altamente interactivo de la propuesta. Las restricciones son reducidas al mínimo y con el objeto de cumplir con los tiempos estimados por el manifiesto ágil, es posible empezar con el diseño así no se haya terminado de especificar los requisitos. Esta propuesta, da mucha importancia al desarrollo de las IU (Interfaces de usuario) proponen incluso unos esquemas que debe tenerse en cuenta para el diseño de estas interfaces. Figura 2(Tomado de Hix y Hartson 2003) 2.2 DISEÑO CENTRADO EN EL USO (USAGE-CENTERED DESIGN) Constantine y Lockwood [5] proponen una metodología, basada en una colección de actividades coordinadas que contribuyen a la arquitectura, agrupadas en el método de Diseño Centrado en el Uso. El usuario es importante en estas tareas y para ello, el modelo de actividades de diseño centradas en el uso incluye algunas actividades que corresponden al proceso de desarrollo más amplio: diseño de Objetos, Construcción Concéntrica e Iteración Arquitectural, junto con actividades de usabilidad

4 puras, como Modelado de Tareas o Modelado del Contenido de la Interfaz. Estos modelos propuestos son bastante atractivos, y aunque pretenden ser muy cercanos al requerimiento de los usuarios, se basan en criterios Orientados a Objetos (RUP), lo que hace que la propuesta se aleje de toda posibilidad de tiempos, factor importante para la entrega del producto al cliente, fundamento del manifiesto ágil. En concreto, la técnica de casos de uso esenciales, que son un pilar del enfoque centrado en el uso, es una reinterpretación de la técnica de casos de uso, la cual es muy popular en el desarrollo orientado a objetos. Los casos de uso esenciales pueden, por tanto, servir de puente para la integración de la arquitectura en el proceso de desarrollo. Por otro lado, Constantine y Lockwood ofrecen una serie de consejos, admitiendo que no hay una única forma de enfocar una integración sólida de la metodlogía con la arquitectura. Por tanto, dejan el tema de la integración para ser resuelto de forma particular en cada caso. Indican que "buenas estrategias de integración de la arquitectura en el ciclo de vida acomodan de forma conjunta las nuevas prácticas con las antiguas, modificando las practicas actuales para incorporar la arquitectura en los procesos de diseño y análisis, al tiempo que se particulariza el diseño centrado en el uso a la organización y sus prácticas" [5]. 2.3 ARQUITECTURA PARA METODOLOGIAS AGILES: ESTRATEGIA DE LARGO PLAZO INTERCALADAS CON TACTICAS DE CORTO PLAZO Ethan Hadar & Gabriel M Silberman Proponen una arquitectura llamada también CA o C3A, basada fundamentalmente en tres niveles, aunque deja la inquietud al diseñador por si su nivel de complejidad es bastante grande poder incluir otros niveles, Ella esta diseñada bajo artefactos de UML [6] y cada nivel presenta su funcionalidad en el sistema: NIVEL 0: MODULOS (ver figura 4) Considerado como el nivel mas importante, en donde además de especificar los requerimientos, se plantea una esta de seguimiento y otra de reportes (en diagrama de paquetes de UML) se hace a través de API, SPI y API para GUI, es a través de este nivel que se escriben los contratos o documentación de una página, como soporte y seguimiento al proyecto Figura 4 (Tomado de Agile Architecture Methodology: Long Term Strategy Interleaved) NIVEL 1: COMPONENTES (ver Figura 5) Proporciona la misma estructura de información que el nivel 0, pero es mucho mas detallado. En este nivel se

5 conecta a través del contrato con el nivel 0, para llevar mas en detalle los requisitos del sistema incluso se tienen en cuenta los parámetros, protocolos y mensajes, los canales de comunicación y los puertos que usará la aplicación [7]. Lo importante en este nivel es tener en cuenta "lo que hay que hacer", seguido por "Lo que se requiere para lograrlo."[8] NIVEL 2: TECNOLOGIA Y DISEÑO Es el nivel mas alto de abstracción, incluso esta propuesto como opcional. Este nivel se ocupa de las interfaces de un componente, basado en los patrones en los cuales se este soportando la aplicación. Cumple con la función interactiva, hasta completar el código del sistema. En muchas ocasiones este nivel toma importancia, cuando es necesario especificar los componentes del nivel uno. Que puede ser posible, debido a la complejidad del sistema que incluso deba diseñarse un nivel tres y así sucesivamente. Figura 5 (Tomado de Agile Architecture Methodology: Long Term Strategy Interleaved 2.4 Propuesta de Costabile Costabile [9] Ingeniero de Sistemas Profesora en Oxford, propone una integración de las prácticas ágiles centradas en el usuario en el proceso software. En concreto, propone una modificación del ciclo de vida software para incluir las actividades relacionadas con la arquitectura, y toma como base para dicha modificación el ciclo de vida en cascada, al que denomina ciclo de vida estándar. La modificación consiste en dejar solo dos actividades puras: análisis de usuarios y de tareas por un lado, y escenarios y especificaciones de las Interfaces de Usuarios por el otro, y otra actividad intermedia: prototipado y pruebas. La interactividad y flexibilidad que proponen los métodos ágiles permiten poder devolverse en cada etapa si es

6 necesario, y estas vueltas hacia atrás junto con la actividad de prototipado y pruebas, son presentadas por Costabile como la forma de enfatizar el carácter iterativo del desarrollo. Así justifica la autora la condición de interactividad necesaria en cualquier enfoque centrado en el usuario. De todas formas, en la propuesta se pueden considerar dos errores: Por un lado, considerar el ciclo de vida en cascada como ciclo de vida estándar, riñe contra los paradigmas propuestos por la Ingeniería del software y tratados por muchas de las metodologías conocidas. De otro lado, el enfoque de la cascada está prácticamente superado dentro de las metodologías ágiles, ya que si bien es cierto es muy aplicado a proyectos complejos, no es posible con este paradigma controlar los tiempos de entrega propuestos por el manifiesto ágil. Por ejemplo Glass indica que "los requisitos frecuentemente cambiaban a medida que el desarrollo avanzaba [...] Los expertos sabían que la cascada era un ideal inalcanzable" [10], y afirma que el ciclo de vida en cascada está obsoleto. Larman identifica los siguientes problemas con el ciclo de vida en cascada [11]: Mitigación tardía de los riesgos, especulación e inflexibilidad de los requisitos y el diseño, alta complejidad y baja adaptabilidad. Se puede afirmar que en el desarrollo de software en dominios no conocidos y para sistemas de complejidad media/alta, el equipo de desarrollo va avanzando en la comprensión del problema según se avanza en el diseño de la solución y en su adecuación a la realidad mediante la implementación. Por tanto, no es posible, bajo los criterios de cascada, proponer un trabajo de usabilidad, que se equipare con los designios de las metodologías ágiles, puesto que a pesar de que Cascada ofrece una interactividad disciplinada, con fuertes enlaces de documentación, no permite en el paso de sus actividades dentro del ciclo, un verdadero encuentro con el usuario y sus historias de requisitos. 3. EL MANIFIESTO AGIL Kent Beck, quien había publicado Extreme Programming Explained, libro en el que exponía una nueva metodología denominada Programación extrema, se reunió en Salt Lake City con un grupo de críticos de las exigencias de las metodologías clásicas, y para tratar sobre técnicas y procesos para desarrollar software. En la reunión se acuñó el término Métodos Ágiles para definir a los métodos que estaban surgiendo como alternativa a las metodologías formales o clásicas, a las que las consideraban excesivamente pesadas y rígidas por su carácter normativo y fuerte dependencia de planificaciones detalladas previas al desarrollo. (Ver figura 6) En dicha reunión se manifestó: Estamos poniendo al descubierto mejores métodos para desarrollar software, y ayudando a otros a que lo hagan. Con este trabajo se llegó a valorar:

7 A los individuos y su interacción, por encima de los procesos y las herramientas. El software que funciona, por encima de la documentación exhaustiva. La colaboración con el cliente, por encima de la negociación contractual. La respuesta al cambio, por encima del seguimiento de un plan. Las metodologías ágiles, son estrategias de desarrollo de software que promueven prácticas que son adaptativas en vez de predictivas, centradas en la gente o en los equipos, iterativas, orientadas hacia prestaciones y hacia la entrega, de comunicación intensiva, y que requieren que el cliente se involucre en forma directa. Las metodologías ágiles constituyen una solución a la medida, con una elevada simplificación que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto [12] Figura 6: Procesos ágiles Tomado de Metodologías Ágiles en el Desarrollo de Software Tanto la tecnología como el dominio cambian, y mientras más tiempo tome el desarrollo, más cambiarán. Por lo tanto, intentar conocer todos los requisitos del producto al comienzo del proyecto no es factible a un costo razonable. Aquí surge entonces también el interrogante Cómo entonces establecer criterios arquitectónicos frente a esta situación con el cliente?. De ahí que muchas metodologías y entre ellas las metodologías ágiles se centran en la especificación de requisitos, intentando extraer al máximo los deseos del usuario para entregar un producto lo mas cercano a la realidad. Pero estas (las metodologías ágiles) imponen un ciclo de vida que es mucho mas exigente con el objeto de poder cumplir con los tiempos propuestos por el manifiesto ágil (ver figura 7) Por tanto, para las metodologías ágiles, es importante comprender los requisitos del cliente para ejecutar un desarrollo de software exitoso. Pero el poder comprenderlo surgen inesperadamente los siguientes problemas: Los usuarios raramente tienen la habilidad para articular lo que realmente necesitan Las necesidades de los usuarios cambian cuando ellos ven el potencial del sistema y comprenden lo que el sistema puede hacer por ellos. Figura 7: Aproximación al ciclo de vida ágil Ello llevará por defecto, a pensar, que los requisitos de usuario son siempre crecientes respecto a los desarrollos de software, porque respecto al primer criterio del manifiesto ágil centrado en el usuario, por la ambigüedad con que se tratan los requisitos en muchas ocasiones, estos (los requisitos) actúan de una forma exponencial ver figura 8

8 Figura 8 Tomado de Agile Shift System Engineering. Constituye un modelo relativamente pequeño e intelectualmente comprensible de cómo está estructurado el sistema y de cómo trabajan juntos sus componentes. Mejora en la calidad del producto: el diseño centrado en el usuario resulta en productos de mayor calidad de uso, más competitivos en un mercado que demanda productos de fácil uso. Por ello los requisitos deben ser claramente especificados y entendidos es decir, que los requisitos son para el analista y el desarrollador, lo que el producto debe ser para el usuario, una proporción que se juega con el criterio de todos los participantes en el desarrollo de la aplicación. Aquí es entonces donde se debe reflexionar: como desde las metodologías ágiles se puede implantar una arquitectura que por un lado sea ágil también y por otro, tenga en cuenta que los requisitos funcionales del sistema no estén bien clarificados. De otro lado, cual sería el paradigma mas efectivo para integrar la arquitectura al desarrollo del software desde este nuevo esquema metodológico. Ahora es necesario aclarar que una buena arquitectura pensada y diseña da en términos de calidad de los productos software, necesariamente debe tener en cuenta esos criterios, basados en la norma ISO/IEC 9126 en la que hay ciertos atributos que son usualmente importantes: Lista de estos requisitos de calidad debiera ser parte de una plantilla para una especificación de requisitos, de este modo se simplifica el proceso de desarrollo, se disminuye el riesgo por no especificar cosas obvias, es fácil acordarse de qué preguntar a o negociar con el cliente, los nuevos empleados pueden aprender de cómo hacemos aquí las cosas. (Ver figura 5) 4. PORQUE ES IMPORTANTE LA ARQUITECTURA El establecimiento de unos principios de diseño en ingeniería [13], han tenido como consecuencia probada: Facilitan la comunicación entre todas las partes interesadas en el desarrollo de un sistema basado en computador. Destaca decisiones tempranas de diseño que tendrán un profundo impacto en todo el trabajo de ingeniería del software. Figura 5 Tomado de Norma ISO/IEC 9126 Cabe anotar también que una arquitectura bien diseñada y que esta relacionado con el esfuerzo de uso y la

9 evaluación sobre el uso hecha por los usuarios, puede alcanzar características como: Entendibilidad posibilidad de que los usuarios reconozcan los conceptos y su aplicabilidad. Aprendibilidad esfuerzo necesario para adquirir un determinado nivel de destreza. Operabilidad esfuerzo necesario para operar y controlar la operación del software Agrado de uso evaluación subjetiva (encuesta) hecha por los usuarios [14] 5. PROPUESTA La Arquitectura de Software puede y debe desempeñar un rol fundamental, en un escenario donde el desarrollo de software tiende hacia formalización y automatización de procesos de ingeniería, que brinden la seguridad y capacidad de predicción de otras disciplinas. Sería de gran importancia contar con un proceso de Arquitectura de Software capaz de acoplarse a cualquier metodología de desarrollo de software, en el que se distingan claramente los beneficios de aplicarla en cada etapa y las consecuencias de no tenerla en cuenta. Se plantean aquí algunos lineamientos y prácticas útiles para ser utilizados en cualquier proceso de desarrollo de software: Pensar que siempre se puede mejorar, tanto en los aspectos técnicos como en los humano.[15] La arquitectura debe cumplir también con unos requisitos, pues la nemotecnia y la sintaxis son importantes estandarizar conceptos que podrán entender tanto usuarios como profesionales del diseño: La prestación de un "vocabulario de elementos de diseño", que son "los componentes y el conector de tipo". La definición de un "conjunto de reglas de configuración". La definición de una interpretación "semántica", que da algún significado bien definido a todas las configuraciones de diseño de elementos que cumplan las normas de configuración. La definición de "análisis" para las configuraciones de que estilo. Esto nos lleva a pensar en unos artefactos, que permitan representar tanto la estática como la dinámica del sistema, que si bien es cierto, y basado en los autores que se tomaron de reflexión para el presente artículo, dependen también de la complejidad del sistema a tratar (ver figura 6) Ante todo, el arquitecto debe: Conocer el dominio del problema a resolver. Ser un buen comunicador (implica saber escuchar) Saber persuadir (si se tiene razón) Tener habilidades de Project Manager, pero no enredarse con estas tareas en su desempeño diario. Figura 6 (Tomado de SERATIC - POPAYAN)

10 6. CONCLUSIONES Y TRABAJOS FUTUROS Las metodologías ágiles han tomado mucha importancia en nuestro tiempo. La mayoría de las casas desarrolladoras de software, sobre todo en nuestra región (sur occidente Colombiano), manifiesta usar métodos ágiles para la organización de sus productos. Por otra parte, las arquitecturas, han demostrado que su aplicación, ha permitido inmiscuir criterios de calidad, también para la obtención de un buen producto y ha sido muy bien aplicada en las metodologías prescriptivas o tradicionales. Pero el manifiesto ágil no es muy claro en su exposición frente a la arquitectura, dejando muchas veces a la codificación como uno de los elementos principales cuando se trata de diseño. Queda entonces la pregunta: bajo los principios de las metodologías ágiles, es posible realizar diseños arquitectónicos que cumplan con los estándares de calidad? Como trabajo futuro, queda el plantearse una arquitectura ágil, que basada en herramientas, patrones y componentes reutilizables, permita solidificar bajo un nuevo paradigma el desarrollo de software bajo las especificaciones y las exigencias del usuario de nuestro tiempo. 7. BIBLIOGRAFIA [1]Dick.Berry: y/w-berry/ [2] Kent Beck. Embracing change with extreme programming. Ed Mc GRaw Hill [3] D. Hix, H.R. Hartson. Developing User Interfaces. Ensuring usability trough. Product and Process. New York (USA) [4] Patricio Letelier y Mª Carmen Penadés. Metodologías ágiles para el desarrollo de software: Extreme Programming (XP). [5] Constantine, L. L., and Lockwood, L. A. D. Software for Use: A Practical Guide to the Models and Methods of Usage- Centered Design [6] Booch G, Jacobson I, and Rumbaugh J. The Unified Modelling Language for Object- Oriented? Development (version 0.91) Rational Software Corporation [7] Beck, Kent. Extreme Programming explained. Reading, Mass: Addison- Wesley? Longman, Inc [8] Highsmith J., Orr K. Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House [9] Costabile, M.F. Usability in the Software Life Cycle. Handbook of Software Engineering and Knowledge Engineering. ed. S. K. Chang. World Scientific Publishing, Singapore, [10] Glass, Robert L. Facts and Fallacies of Software Engineering. Boston, [11] Larman, C.: UML y Patrones, Segunda Edición: Prentice-Hall, 2004 [12] Desarrollo de Software Orientado a los Negocios con Métodos Ágiles. Pablo Straub [13] Recopilación de Métodos de Usabilidad. Alejandro Floría Cortés (2005). [14] Desarrollo de Software Orientado a los Negocios con Métodos Ágiles. Pablo Straub. Presentación [15] Valerio Adrián Anacleto. /tiki-read_article.php?articleid=16

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Curso: El Proceso de Desarrollo de Software

Curso: El Proceso de Desarrollo de Software Curso: El Proceso de Desarrollo de Software EL PROCESO DE DESARROLLO DE SOFTWARE... 1 OBJETIVO...1 CONTENIDO...1 BIBLIOGRAFÍA...4 DOCENTE...4 MODALIDAD DEL DESARROLLO...4 El proceso de Desarrollo de Software

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Ingeniería de Software: Parte 2

Ingeniería de Software: Parte 2 Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Más detalles

Resumen. Introducción

Resumen. Introducción Arquitectura de software para Sistemas de Información Ambiental Urciuolo Adriana, Iturraspe Rodolfo, Parson Ariel, Esteban Natalia Universidad Nacional de la Patagonia San Juan Bosco Sede Ushuaia, Darwin

Más detalles

Metodologías híbridas para desarrollo de software: una opción factible para México Eréndira Miriam Jiménez Hernández y Sandra Dinora Orantes Jiménez

Metodologías híbridas para desarrollo de software: una opción factible para México Eréndira Miriam Jiménez Hernández y Sandra Dinora Orantes Jiménez Revista Digital Universitaria 1 de enero 2012 Volumen 13 Número 1 ISSN: 1067-6079 Metodologías híbridas para desarrollo de software: una opción factible para México Eréndira Miriam Jiménez Hernández y

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

PUD: Proceso de Desarrollo Unificado

PUD: Proceso de Desarrollo Unificado PUD: Proceso de Desarrollo Unificado 1 1998 Genealogía del PUD Rational Unified Process 5.0 1997 Rational Objectory Process 4.1 UML 1996 Rational Objectory Process 4.0 1995 Método Ericsson Rational Approach

Más detalles

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE Recibido: 23 de febrero de 2011 Aceptado: 29 de marzo de 2011 SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE MSc. Ailin Orjuela, MSc. Luis Alberto Esteban, MSc.

Más detalles

xavier@fi.upm.es ammoreno@fi.upm.es

xavier@fi.upm.es ammoreno@fi.upm.es Integración de la IPO en el Proceso de Desarrollo de la Ingeniería del Software: Propuestas Existentes y Temas a Resolver Xavier Ferré Universidad Politécnica de Madrid Facultad de Informática Campus de

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH

METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH Ing. Ivonne Emmanuela Vázquez Méndez, C. Yesenia Guadalupe Balderas Ortigosa, C. Roberto Omar Eguía de León, MC.

Más detalles

Carrera: IFM - 0434 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: IFM - 0434 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Sistemas de I Licenciatura en Informática IFM - 0434 3-2-8 2.- HISTORIA DEL PROGRAMA

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Desarrollo Ágil Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Coordinación de Ciencias Computacionales INAOE 2011 Preguntas

Más detalles

Guía Docente Curso 2012-2013

Guía Docente Curso 2012-2013 ESCUELA TÉCNIICA SUPERIIOR DE IINGENIIERÍÍA Guía Docente Curso 2012-2013 Titulación Ingeniería Informática DATOS DE LA ASIGNATURA * * Asignatura en experiencia piloto de implantación del sistema de créditos

Más detalles

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software Jorge Bozo jbozo@inf.ucv.cl Escuela de Ingeniería Informática Universidad Católica de Valparaíso Valparaíso, Chile

Más detalles

Diagrama de casos de uso

Diagrama de casos de uso Diagrama de casos de uso Se utiliza para capturar los requerimientos funcionales de un sistema, de tal forma que plasman las relaciones entre los usuarios y el sistema. Contenido Pasos de construcción

Más detalles

RUP. Rational Unified Process

RUP. Rational Unified Process RUP Rational Unified Process Rational Unified Process Basado en 6 mejores prácticas de la industria de software: Desarrollo incremental Administración de requisitos Uso de arquitecturas basadas en componentes

Más detalles

Tema 8º: Aspectos prácticos

Tema 8º: Aspectos prácticos Tema 8º: Aspectos prácticos Gestión y planificación Administración de personal Gestión de versiones Reutilización Control de calidad del software Documentación Herramientas Temas especiales Las ventajas

Más detalles

Línea de investigación o de trabajo: Todas de Ciencias de la Computación. Horas teoría-horas prácticas-horas trabajo adicional-horas totales-créditos

Línea de investigación o de trabajo: Todas de Ciencias de la Computación. Horas teoría-horas prácticas-horas trabajo adicional-horas totales-créditos Nombre de la asignatura: Ingeniería de Software I Línea de investigación o de trabajo: Todas de Ciencias de la Computación Horas teoría-horas prácticas-horas trabajo adicional-horas totales-créditos 22

Más detalles

Instruir al alumno con los conceptos, modelos, teorías y principios básicos estudiados en la Ingeniería de Software

Instruir al alumno con los conceptos, modelos, teorías y principios básicos estudiados en la Ingeniería de Software Universidad de Colima Dirección General de Educación Superior Facultad de Ingeniería Mecánica y Eléctrica Licenciatura en Ingeniería en Sistemas Computacionales I. DATOS GENERALES P R O G R A M A A N A

Más detalles

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio Arturo Cepeda Pérez, Sergio Bravo Martín, Francisco José García Peñalvo Universidad de Salamanca, Facultad

Más detalles

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. El proceso software Un conjunto estructurado de actividades y resultados asociados que conducen a la creación de un producto de software Especificación: Definir la funcionalidad y las restricciones en

Más detalles

Modelos de Proceso Tradicionales

Modelos de Proceso Tradicionales Modelos de Proceso Tradicionales Capitulo 2,QJHQLHUtDGHO6RIWZDUH (VSHFLDOL]DFLyQHQ*HUHQFLDGH6LVWHPDVGH,QIRUPDFLyQ 8QLYHUVLGDG6DQWLDJRGH&DOL Profesor: MSc. MIGUEL ANGEL NIÑO ZAMBRANO Programación: Tiempo

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

Más detalles

Desarrollo de un sistema de información de investigación integrado (IRIS-D, Fase I)

Desarrollo de un sistema de información de investigación integrado (IRIS-D, Fase I) Díaz, W. & Caicedo, C. (2011). Desarrollo de un sistema de información de investigación integrado (IRIS-D, Fase I). Revista Ingenium 5(9), pp 33-37 Desarrollo de un sistema de información de investigación

Más detalles

Introducción al Unified Process. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010

Introducción al Unified Process. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010 Introducción al Unified Process Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010 Unified Process - UP Un framework de Proceso de Desarrollo de Software, una de cuyas versiones es el más documentado

Más detalles

GUÍA DOCENTE DE LA ASIGNATURA

GUÍA DOCENTE DE LA ASIGNATURA GUÍA DOCENTE DE LA ASIGNATURA G658 - Ingeniería del Software I Grado en Ingeniería Informática Obligatoria. Curso 3 Curso Académico 04-05 . DATOS IDENTIFICATIVOS Título/s Grado en Ingeniería Informática

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

Introducción a Rational Unified Process (RUP)

Introducción a Rational Unified Process (RUP) Qué es un Proceso de Desarrollo de SW? Introducción a Patricio Letelier letelier@dsic.upv.es Departamento Sistemas Informáticos y Computación (DSIC) (UPV) - España Define Quién debe hacer Qué, Cuándo y

Más detalles

El mundo se encuentra en una revolución informática. La Arquitectura de Información (AI) en el proceso de desarrollo de software

El mundo se encuentra en una revolución informática. La Arquitectura de Información (AI) en el proceso de desarrollo de software La Arquitectura de Información (AI) en el proceso de desarrollo de software Information architecture in the process of software development Lic. Yenieris Moyares Ing. Daimí Bretones Lorenzo Resumen: La

Más detalles

Introducción a la implementación de Scrum

Introducción a la implementación de Scrum Introducción a la implementación de Scrum Jorge Iván Meza Martínez http://www.jorgeivanmeza.com/ Jorge Iván Meza Martínez - 1 Contenido Introducción. Historia. Qué es un proyecto. Gestión

Más detalles

Proceso Unificado de Rational (RUP)

Proceso Unificado de Rational (RUP) Especialización en Telemática Proceso Unificado de Rational (RUP) Arquitecturas de Sistemas Telemáticos Dr. Ing. Álvaro Rendón Gallón Cali, mayo de 2012 Temario 2 Antecedentes Objetivos Características

Más detalles

Objetivos FACULTAD DE INGENIERIA. DEPARTAMENTO DE INGENIERIA DE SISTEMAS. Código de la asignatura 4070. Fecha de Actualización Julio 24 de 2012

Objetivos FACULTAD DE INGENIERIA. DEPARTAMENTO DE INGENIERIA DE SISTEMAS. Código de la asignatura 4070. Fecha de Actualización Julio 24 de 2012 Nombre de la asignatura Ingeniería de Software Código de la asignatura 4070 Fecha de Actualización Julio 24 de 2012 Intensidad horaria semanal Horas Contacto 4 Horas Trabajo Independiente 8 Créditos Académicos

Más detalles

GUÍA DOCENTE. Curso 2014-2015. Ingeniería Informática en Sistemas de Información Doble Grado: M6: Tecnología Específica de Sistemas de Información

GUÍA DOCENTE. Curso 2014-2015. Ingeniería Informática en Sistemas de Información Doble Grado: M6: Tecnología Específica de Sistemas de Información 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Ingeniería de Proyectos Módulo: M6: Tecnología Específica de Sistemas de Información Departamento:

Más detalles

ARQUITECTURA DE SOFTWARE

ARQUITECTURA DE SOFTWARE ARQUITECTURA DE SOFTWARE Introducción n a la Arquitectura de Software (sistemas) Requisitos de calidad Documento de Diseño RTFS-Método del control de diseño Introducción n al Diseño o de la interfaz Humano/Computador

Más detalles

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP DESARROLLO DE SOFTWARE ORIENTADO A OBJETOS: Modelo de requerimientos del RUP Adesmiro Zelada Escobedo 1*, Miguel Figueroa Martel 2 * 1 Facultad de Ingeniería y Arquitectura, Universidad Peruana Unión *

Más detalles

Programa del curso IC 6821. Diseño de Software. Escuela de Computación Carrera de Ingeniería en Computación, Plan 410

Programa del curso IC 6821. Diseño de Software. Escuela de Computación Carrera de Ingeniería en Computación, Plan 410 Programa del curso IC 6821 Diseño de Software Escuela de Computación Carrera de Ingeniería en Computación, Plan 410 I parte: Aspectos relativos al plan de estudios 1 Datos generales Nombre del curso: Código:

Más detalles

Una Propuesta de Conjunción de Elementos Metodológicos en común dentro de los Enfoques ágiles para el Desarrollo de Software.

Una Propuesta de Conjunción de Elementos Metodológicos en común dentro de los Enfoques ágiles para el Desarrollo de Software. Una Propuesta de Conjunción de Elementos Metodológicos en común dentro de los Enfoques ágiles para el Desarrollo de Software. Rodolfo Meda (rodolfomeda@yahoo.com), Jorge Ierache (jierache@yahoo.com.ar).

Más detalles

Diagrama de actividad

Diagrama de actividad Diagrama de actividad Se utiliza para representar los procedimientos o secuencia de pasos dentro de procedimientos, procesos o flujo de información. Contenido Generalidades de un diagrama de actividad...

Más detalles

Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio

Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio M. Teresa García 1, Mercedes Ruiz 1 y Cristina Vicente-Chicote 2 1 Departamento de Lenguajes y Sistemas Informáticos Universidad

Más detalles

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE.

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. 1.1. INTRODUCCIÓN. La ingeniería de software esta inmiscuida en cada proyecto que lleva implícita la calidad total de un sistema, si bien es posible

Más detalles

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version 2003.06.12.01 Copyright 1987 2003 Rational Software Corporation

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version 2003.06.12.01 Copyright 1987 2003 Rational Software Corporation Calidad Preparado por: Amelia Soriano Referencias Rational Unified Process Version 2003.06.12.01 Copyright 1987 2003 Rational Software Corporation Curso Rational Unified Process Rational University Curso

Más detalles

Enterprise Architect y UML Basic

Enterprise Architect y UML Basic Enterprise Architect y UML Basic Diciembre 2008 Carlos Alexander Zuluaga Agenda Presentación del curso. Introducción a Enterprise Architect. Exploración del modelo de ejemplo. Introducción a UML. Definición

Más detalles

Gestión de. Requisitos previos. Carácter ECTS. Periodo NINGUNOO. Idiomas en Inglés. Departamento. Ciencias de. Presentación. Despacho y.

Gestión de. Requisitos previos. Carácter ECTS. Periodo NINGUNOO. Idiomas en Inglés. Departamento. Ciencias de. Presentación. Despacho y. = =drð^=al`bkqb qfqri^`flkbp=ab=do^al= TITULACIÓN: INGENIERÍA DE SISTEMAS DE INFORMACIÓN CURSO: Segundo ASIGNATURA: Ingeniería del Software I Nombre del Módulo o Materia al que pertenece la asignatura.

Más detalles

Model for integration of work management PMBOK guide with engineering activities in software development projects

Model for integration of work management PMBOK guide with engineering activities in software development projects Modelo de integración de las actividades de gestión de la guía del PMBOK, con las actividades de ingeniería, en proyectos de desarrollo de software Model for integration of work management PMBOK guide

Más detalles

Pontificia Universidad Católica del Ecuador

Pontificia Universidad Católica del Ecuador 1. DATOS INFORMATIVOS: MATERIA O MÓDULO: INGENIERÍA DE SOFTWARE I CÓDIGO: CARRERA: SISTEMAS NIVEL: QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 SEMESTRE/AÑO ACADÉMICO: Segundo Semestre 2011-2012 CRÉDITOS

Más detalles

Documentando la arquitectura de software Principios básicos por Omar Gómez

Documentando la arquitectura de software Principios básicos por Omar Gómez Documentando la arquitectura de software Principios básicos por Omar Gómez En la actualidad, uno de los temas candentes que se habla dentro de la comunidad de desarrollo de software es el referente a las

Más detalles

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS METODOLOGIAS AGILES PROCESO UNIFICADO AGIL (AUP) MATERIA : INGENIERIA SOFTWARE DOCENTE : LIC. ERVIN FLORES ESTUDIANTE : JORGE LUIS CORDERO

Más detalles

Objetivo Las personas que realicen el curso aprenderán a:

Objetivo Las personas que realicen el curso aprenderán a: Objetivo Las personas que realicen el curso aprenderán a: Describir el proceso de desarrollo de software orientado a objetos, lo que incluye las metodologías y los flujos de trabajo de la programación

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

Ingeniería de Software I. Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009

Ingeniería de Software I. Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009 Ingeniería de Software I Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009 Quienes somos? 2 Quienes son? 3 Objetivos del Curso Entender el rol fundamental que juega la construcción y análisis

Más detalles

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Fundamentos de Ingeniería de Software. Ingeniería en Sistemas Computacionales.

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Fundamentos de Ingeniería de Software. Ingeniería en Sistemas Computacionales. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: (Créditos) SATCA 1 Fundamentos de Ingeniería de Software Ingeniería en Sistemas Computacionales SCC-1007 2-2-4 2.- PRESENTACIÓN

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. COMPARACIÓN DE METODOLOGÍAS METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación

Más detalles

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Grupo de Ingeniería del Software Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 3.0 - España 1 Objetivos del Tema Qué

Más detalles

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS USB Ing. De Software. Prof. I. C. Martínez Ing. De Software Ingeniería de Software La Ingeniería de Software es la ciencia

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

Los requisitos, un factor crítico en el éxito de los proyectos

Los requisitos, un factor crítico en el éxito de los proyectos Los requisitos, un factor crítico en el éxito de los proyectos La importancia de los modelos José Luis Fernández Sánchez Profesor titular ETSI Industriales- Universidad Politécnica de Madrid jlfdez@etsii.upm.es

Más detalles

Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3)

Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3) Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3) Este curso oficial impartido por un instructor certificado por el SEI, tiene tres días de duración e introduce a los directivos

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad.

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad. Universidad Católica San Pablo Facultad de Ingeniería y Computación Programa Profesional de Ciencia de la Computación SILABO CS290T. Ingeniería de Software I (Obligatorio) 2012-2 1. DATOS GENERALES 1.1

Más detalles

Ingeniería del Software II

Ingeniería del Software II Bloque III: Proceso Unificado Simona Bernardi Dipartimento di Informatica Università di Torino (Italia) Duración: 4 horas Objetivo: Conocer un proceso de desarrollo de software diferente a OMT Simona Bernardi

Más detalles

Planificación y Modelado

Planificación y Modelado 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Planificación y Modelado Ingeniería en Sistemas Computacionales SCM - 0423 3-2-8

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 7. Modelos del ciclo de vida del software

Fundamentos de Ingeniería del Software. Capítulo 7. Modelos del ciclo de vida del software Fundamentos de Ingeniería del Software Capítulo 7. Modelos del ciclo de vida del software Caminar sobre las aguas y desarrollar programas a partir de las especificaciones es fácil, si ambas están congeladas

Más detalles

Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software

Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software Dirección de Desarrollo y Aplicaciones Miguel Martínez Vélez Agenda 1. Introducción 2. El Proceso Software

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Revista Granma Ciencia. Vol. 16, no. 2 mayo - agosto 2012 ISSN 1027-975X

Revista Granma Ciencia. Vol. 16, no. 2 mayo - agosto 2012 ISSN 1027-975X Título: Gestión de la Calidad en el Ciclo de Desarrollo del Software de proyectos que usan metodologías ágiles. Title: Quality Management in Development Cycle Software projects using agile methodologies.

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Programa de la asignatura Curso: 2009 / 2010 ANÁLISIS E INGENIERÍA DEL SOFTWARE (1296)

Programa de la asignatura Curso: 2009 / 2010 ANÁLISIS E INGENIERÍA DEL SOFTWARE (1296) Programa de la asignatura Curso: 2009 / 2010 ANÁLISIS E INGENIERÍA DEL SOFTWARE (1296) PROFESORADO Profesor/es: MARIA BELEN VAQUERIZO GARCIA - correo-e: belvagar@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA

Más detalles

La usabilidad en los estándares internacionales relacionados con calidad: definición, logro y evaluación. Año 2015

La usabilidad en los estándares internacionales relacionados con calidad: definición, logro y evaluación. Año 2015 La usabilidad en los estándares internacionales relacionados con calidad: definición, logro y evaluación Año 2015 Docente Responsable: Dr. Francisco Montero. (UCLM-España) Docente Asistente: Dra. María

Más detalles

Ing. Norman Vargas Chévez Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería e-mail: norman.vargas@uni.edu.

Ing. Norman Vargas Chévez Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería e-mail: norman.vargas@uni.edu. MODELACIÓN DEL PROCESO DE INFORMACIÓN EN LA COMPRA VENTA DE ENERGÍA EN EL MERCADO ELÉCTRICO DEREGULADO EN NICARAGUA - DESDE EL PUNTO DE VISTA DEL CENTRO NACIONAL DE DESPACHO DE CARGA- Ing. Norman Vargas

Más detalles

para la automatización es una forma en que puede mejorar los procesos de negocio.

para la automatización es una forma en que puede mejorar los procesos de negocio. El Modelado del Negocio Utilizando la Metodología Rational Unified Process (RUP) Omar Beltrán Celis Mendoza 1, Alderson Luna Aguinaga 1, Ing. Daniel Lévano Rodríguez, Mg 2 Resumen El Modelado del Negocio

Más detalles

Metodología para el diseño y desarrollo de interfaces de usuario

Metodología para el diseño y desarrollo de interfaces de usuario Metodología para el diseño y desarrollo de interfaces de usuario Versión Historia de Revisión Fecha Versión Descripción Responsable 20/06/2005 Creación. Alejandro Báez Cristian Castañeda Diego

Más detalles

Construcción y Pruebas de Software

Construcción y Pruebas de Software UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnología Departamento de Computación Construcción y Pruebas de Software Elaborado por: Gustavo Bazán Francisco Rosas Bárbula, Junio de 2012

Más detalles

DATOS DE IDENTIFICACION DEL CURSO DEPARTAMENTO:

DATOS DE IDENTIFICACION DEL CURSO DEPARTAMENTO: DATOS DE IDENTIFICACION DEL CURSO DEPARTAMENTO: Departamento de Ciencias Computacionales ACADEMIA A LA QUE PERTENECE: Ingeniería de Software NOMBRE DE LA MATERIA: Ingeniería de Software II CLAVE: CC305

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

14. Ingeniería de software. Ing. Alejandro Adorjan

14. Ingeniería de software. Ing. Alejandro Adorjan 14. Ing. Alejandro Adorjan : un enfoque en ingeniería de requerimientos Introducción La ingeniería de software es una disciplina que estudia la aplicación de la teoría, el conocimiento y la práctica de

Más detalles

Del Modelo Conceptual a los Diagramas de Clases

Del Modelo Conceptual a los Diagramas de Clases Caso de Estudio: Point of Sale : POS Del Modelo Conceptual a los Diagramas de Clases A. Soriano,2 Universad Central de Venezuela 2 Universad Simón Bolivar Octubre 2005 Proceso Unificado: Referencia Básica

Más detalles

Programación del curso

Programación del curso Ingeniería Software 4º Físicas Programación del curso José M. Drake (drakej@unican.es) Patricia López Martínez ( lopezpa@unican.es ) Computadores y Tiempo Real Santander, 2008 Ingeniería de Programación

Más detalles

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML INTRODUCCION Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una manera

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

DEPARTAMENTO: Computación y Diseño NOMBRE DEL CURSO: Diseño de Sistemas Interactivos CLAVE: 1058M ACADEMIA A LA QUE PERTENECE: Análisis y Diseño

DEPARTAMENTO: Computación y Diseño NOMBRE DEL CURSO: Diseño de Sistemas Interactivos CLAVE: 1058M ACADEMIA A LA QUE PERTENECE: Análisis y Diseño PROGRAMA DE CURSO Modelo 2009 DEPARTAMENTO: Computación y Diseño NOMBRE DEL CURSO: Diseño de Sistemas Interactivos CLAVE: 1058M ACADEMIA A LA QUE PERTENECE: Análisis y Diseño PROFESIONAL ASOCIADO Y LICENCIATURA

Más detalles

Gerencia de Proyectos Proceso de Software

Gerencia de Proyectos Proceso de Software Gerencia de Proyectos Proceso de Software Victor Manuel Toro C. VictorToro@cincosoft.com CincoSOFT Ltda. Compañía de Ingenieros Constructures de Software Tel. (+57)(1) 6230180 * Fax (+57)(1) 2566774 Carrera

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

Más detalles

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Contenido de la sesión Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Diseño de Software Es una descripción de la estructura del software que se va a

Más detalles

3-2-8. Participantes

3-2-8. Participantes 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos: METODOLOGIAS AGILES Licenciatura en Informática 3-2-8 2.- HISTORIA DEL PROGRAMA

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

Ingeniería de Software Informe de Metodología

Ingeniería de Software Informe de Metodología Ingeniería de Software Informe de Metodología Profesor: Dr. Narciso Cerpa. Integrantes: Yannira Arancibia, Marcos Gutiérrez, Gonzalo Pincheira, Felipe Venegas P. Jueves, 14 de septiembre del 2007 1 Índice

Más detalles