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

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

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

Transcripción

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

2 Diseño de Software Es una descripción de la estructura del software que se va a implementar, los datos que son parte del sistema, las interfaces entre los componentes del sistema, y algunas veces, los algoritmos utilizados. Los diseñadores no obtienen inmediatamente un diseño detallado, sino que lo desarrollan de manera iterativa a través de diversas versiones. El proceso de diseño incluye agregar formalidad y detalles durante el desarrollo del diseño, y regresar a los diseños anteriores y corregirlos. El Proceso de diseño es aún un proceso ad hoc

3 Diseño de Software Workstation PC Servidor de Aplicaciones Servidor de Datos Interfaces Hombre Máquina Interfaces con otros sistemas Hardware Estructura de la Aplicación Estructura Base de Datos Topología de Red

4 La retroalimentación entre estas actividades y la consecuente repetición del trabajo es inevitable en todo proceso de diseño Diseño de Software El proceso de diseño incluye el desarrollo de varios modelos con diferentes niveles de abstracción Especificación De Requerimientos Diseño Arquitectónico Especificación Abstracta Diseño De Interfaz Diseño de Componentes Diseño de Est. De datos Diseño de Algoritmos Arquitectura Del Sistema Especificación Software Especificación Interfaz Especificación Componentes Especificación Datos Especificación Algoritmos

5 Diseño de Software 1. Diseño de datos: transforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarias para implementar el software. 2. Diseño arquitectónico: define la relación entre los principales elementos estructurales del programa. 3. Diseño de interfaz: describe cómo se comunica el software consigo mismo, con los sistemas que operan con él y con los operadores que lo emplean. 4. Diseño procedimental: transforma elementos estructurales de la arquitectura del programa en una descripción procedimental de los componentes de software.

6 Diseño de Software RELACIÓN ENTRE LOS ELEMENTOS DE ANÁLISIS Y DISEÑO El modelo de análisis Especificación del proceso (EP) Diagrama de transición de estado (DTE) Especificación de control (EC) Diagrama de flujo de datos (DFD) Diagrama de flujo de datos (DFD) Diccionario de datos Diagrama entidad-relación (E-R) El modelo de diseño Diseño procedimental Diseño de interfaz Diseño arquitectónico Diseño de datos

7 Diseño de Software Los sistemas grandes siempre se descomponen en subsistemas que suministran algún conjunto relacionado de servicios. El proceso de diseño inicial para identificar estos subsistemas y establecer un marco de trabajo para el control y comunicación de los subsistemas se llama diseño arquitectónico y lo que produce este proceso de diseño es una descripción de la Arquitectura de Software. La descomposición arquitectónica es necesaria para estructurar y organizar la especificación

8 Diseño de Software Resumiendo las razones expuestas por el Software Engineering Institute así como las propuestas por Bass et al. (SEI, 2000) (Bass et al.,2003), se puede contar con cuatro necesidades fundamentales para considerar importante la arquitectura del software las cuales justifican su análisis: La comunicación entre los participantes: por representar una abstracción de alto nivel de un sistema que la mayoría, sino todos, los participantes pueden usar para crear un entendimiento común. Decisiones de diseño tempranas: es también el punto más temprano en el cual el sistema a ser construido puede ser analizado. Abstracción transferible de un sistema: la arquitectura del software constituye un modelo pequeño e intelectualmente comprensible de cómo el sistema está estructurado y de cómo colaboran entre sí sus componentes. Este modelo es transferible a otros sistemas, especialmente a aquellos con requerimientos similares. La arquitectura del software es el primer artefacto de diseño que direcciona al menos cuatro atributos de calidad relevantes: desempeño, confiabilidad, modificabilidad y seguridad.

9 Principios del Diseño de Software No debería ponerse orejas (considerar enfoques alternativos). Se debería poder seguir los pasos del diseño desde el modelo de análisis. No debe inventar nada que ya esté inventado. Debería minimizar la distancia intelectual entre el software y el problema tal y como existe en el mundo real. Debería presentar uniformidad e integración. Debería estructurarse para admitir cambios. Debería estructurarse para degradarse poco a poco, incluso cuando se enfrenta a datos, sucesos o condiciones operativas aberrantes. No es escribir código y escribir código no es diseñar. Se debería valorar la calidad del diseño mientras se crea no después de terminarlo. Se debería revisar el diseño para minimizar los errores conceptuales (semánticos).

10 Principios del Diseño de Software ABSTRACCIÓN La noción psicológica de abstracción permite concentrarse en un problema a un nivel de generalización independiente de los detalles de nivel inferior, la abstracción también permite trabajar con conceptos y términos que son familiares en el entorno del problema sin tener que transformarlos en una estructura poco familiar. Cada fase del proceso de ingeniería del software es un refinamiento en el nivel de abstracción de la solución software. Finalmente se alcanza el nivel inferior de abstracción cuando se construye el código.

11 Principios del Diseño de Software Abstracción procedimental: es una secuencia dada de instrucciones que tiene una función específica y limitada. Abstracción de datos: es una colección determinada de datos que describen un objeto de datos. Abstracción de control: implica un mecanismo de control del programa sin especificar detalles internos

12 Principios del Diseño de Software REFINAMIENTO PASO A PASO La arquitectura de un programa se desarrolla refinando sucesivamente niveles de detalle procedimental. Se desarrolla una jerarquía descomponiendo un enunciado macroscópico de función (una abstracción procedimental) al estilo paso a paso hasta que se llega a los enunciados del lenguaje de programación. La abstracción y el refinamiento son conceptos complementarios.

13 Principios del Diseño de Software MODULARIDAD. Se divide el software en componentes identificables y tratables por separado, denominados módulos, que están integrados para satisfacer los requisitos del programa. La modularidad es el atributo del software que permite a un programa ser manejable intelectualmente. La complejidad percibida de un problema que combina p y p ; es mayor que la complejidad percibida cuando cada problema se considera por separado. Hay un número m de módulos que resultarían en un costo de desarrollo mínimo, pero no tenemos la sofisticación necesaria para predecir m con seguridad.

14 Principios del Diseño de Software Meyer define cinco criterios que permiten evaluar un método de diseño con respecto a su capacidad de definir un sistema modular eficaz: Capacidad de descomposición funcional: mecanismo sistemático de descomposición del problema en sub-problemas. Capacidad de empleo de componentes modulares: ensamblar componentes de diseño existentes. Capacidad de comprensión modular: entender un módulo como una unidad por sí sola. Continuidad modular: cambios en los módulos individuales, en vez de cambios generalizados en el sistema. Protección modular: los efectos se restringen dentro de ese módulo.

15 Principios del Diseño de Software JERARQUIA DE CONTROL (estructura del programa). Representa la organización (a menudo jerárquica) de componentes del programa (módulos) e implica una jerarquía de control M Grado de salida Profundidad a b c d e k l m f g h n o p q i j r Grado de entrada Anchura

16 Principios del Diseño de Software Profundidad y anchura: proporcionan una indicación del número de niveles de control y el ámbito global de control, respectivamente. El grado de salida: es una medida del número de módulos que son controlados directamente por otro módulo. Superior. Subordinado. Visibilidad: indica el conjunto de componentes de programa que pueden invocarse o usarse sus datos por un componente dado, incluso cuando esto se realiza indirectamente. Conectividad: indica el conjunto de componentes que son invocados directamente o usados sus datos por un componente determinado.

17 Principios del Diseño de Software PARTICIÓN ESTRUCTURAL. Partición horizontal: define ramas separadas de la jerarquía modular para cada función principal del programa. El enfoque más simple de partición horizontal define tres particiones: entrada, procesamiento y salida. Es más fácil de probar y de mantener, propaga menos efectos secundarios, el software es más fácil de ampliar.

18 Principios del Diseño de Software a) Partición horizontal Función 1 Función 2 Función 3

19 Principios del Diseño de Software Partición vertical: o factoring (descomposición en factores), sugiere que el control (toma de decisiones) y el trabajo se distribuyan descendentemente en la arquitectura del programa. Los módulos del nivel superior deberían realizar funciones de control y poco trabajo de procesamiento. Los módulos que residen en la parte baja de la arquitectura deberían ser los trabajadores, realizando todos los trabajos de entrada, cálculo y salida. Las arquitecturas de partición vertical tienen menos probabilidad de ser susceptibles a efectos secundarios cuando se hacen cambios y tendrán por tanto mejor capacidad de mantenimiento, un factor clave para la calidad.

20 Principios del Diseño de Software b) Partición Vertical Módulos de trabajo

21 Principios del Diseño de Software PROCEDIMIENTO DEL SOFTWARE. El procedimiento del software se centra en los detalles de procesamiento de cada módulo individualmente. El procedimiento debe proporcionar una especificación exacta del procesamiento, incluyendo la secuencia de acontecimientos, puntos exactos de decisión, operaciones repetitivas e incluso la organización/estructura de los datos.

22 Principios del Diseño de Software

23 Principios del Diseño de Software DISEÑO MODULAR EFECTIVO. Los conceptos fundamentales de diseño sirven para incentivar diseños modulares. Un diseño modular reduce la complejidad, facilita los cambios y hace más fácil la implementación al fomentar el desarrollo en paralelo de diferentes partes de un sistema.

24 Principios del Diseño de Software DISEÑO MODULAR EFECTIVO. 1. INDEPENDENCIA FUNCIONAL. Se consigue desarrollando módulos con una función única y una aversión a excesiva interacción con otros módulos. Cada módulo trate una sub-función específica de los requisitos y tenga una sencilla interfaz cuando se vea desde otras partes de la estructura del programa. Es más fácil de desarrollar porque la función se puede compartir y las interfaces se simplifican. Los módulos independientes son más fáciles de mantener y probar porque los efectos secundarios causados por la modificación del diseño/código están limitados, la propagación de errores es reducida y se pueden usar módulos reutilizados. La independencia se mide usando dos criterios cualitativos: cohesión y acoplamiento. La cohesión es una medida de la fuerza relativa funcional de un módulo. El acoplamiento es una medida de la interdependencia relativa de entre los módulos.

25 Principios del Diseño de Software 2. COHESIÓN. Es una extensión natural del concepto de ocultamiento de la información. Un módulo con cohesión realiza una sola tarea dentro de un procedimiento de software, requiriendo poca interacción con los procedimientos que se realizan en otras partes del programa. Un módulo con cohesión debería hacer una sola cosa. Siempre debemos buscar la cohesión más alta, aunque la parte media del espectro es a menudo aceptable. Coincidente Lógica Temporal Procedimental De comunic. Secuencial Funcional BAJA ALTA Disperso De un solo propósito

26 Principios del Diseño de Software Coincidencialmente cohesivo: un módulo que realiza un conjunto de tareas poco relacionadas las unas con las otras. Cohesión lógica: realiza tareas relacionadas lógicamente (produce toda las salidas). Cohesión temporal: contienen tareas relacionadas por el hecho de que todas deben hacerse en el mismo intervalo de tiempo. Cohesión procedimental: cuando los elementos de procesamiento están relacionados y deben ejecutarse en un orden específico. Cohesión de comunicación: todos los elementos de procesamiento se concentran en un área de la estructura de datos.

27 Principios del Diseño de Software 3. ACOPLAMIENTO. Es una medida de la interconexión entre los módulos de la estructura de un programa. Depende de la complejidad de la interfaz entre los módulos, el punto en el que se entra o se hace referencia al módulo y qué datos pasan a través de la interfaz. Intentamos conseguir el menor nivel posible de acoplamiento. Las conexiones sencillas entre los módulos hacen que el software sea más fácil de entender y menos dado al efecto ola. Sin acop. Dir. Ac. Datos Ac. Marca Ac. Control Ac. Externo Ac. Normal Ac. contenido BAJA ALTA

28 Principios del Diseño de Software Acoplamiento de datos: está subordinado al módulo a y se accede a él por medio de una lista convencional de argumentos a través de la cual se pasan los datos. Acoplamiento de marca: cuando en vez de argumentos simples se pasa una porción de la estructura de datos se pasa por la interfaz del módulo. Acoplamiento de control: se pasa un indicador de control (una variable que controla las decisiones en el módulo subordinado). Acoplamiento externo: cuando los módulos están atados a un entorno externo al software. Por ejemplo, las I/O y los dispositivos. Acoplamiento común: varios módulos hacen referencia a un área global de datos. Acoplamiento de contenido: un módulo hace uso de datos o de información de control mantenidos dentro de los límites de otro módulo. Cuando se realiza una bifurcación hacia la mitad de otro módulo.

29 Principios del Diseño de Software Est. de datos Sin ac. directo a d h Datos (variables ) Ind. De control b c e f g i j Área global de datos

30 Actividad Práctica PIENSE ESCRIBA COMPARTA Duración 15 minutos 1. De manera individual y en 10 minutos, PIENSE y ESCRIBA la respuesta de lo siguiente: Cómo se propician los principios de diseño? 2. A nivel grupal y en máximo 5 minutos, COMPARTA lo que escribió en el paso anterior.

31 Arquitectura de Software La Arquitectura del Software de un programa o sistema de Computación, es la estructura o estructuras del sistema, la cual comprende componentes de Software, propiedades externas de esos componentes y la interacción entre ellos [Bas el al 2003]. Por otra parte, Clements [SEI, 2001] señala que la Arquitectura del Software es vagamente definida como la estructura organizacional de un sistema de Software que incluye componentes, conexiones, restricciones.

32 Arquitectura de Software Se obtiene mediante un proceso de partición que relaciona los elementos de una solución de software con partes de un problema del mundo real definido implícitamente durante el análisis de los requisitos. La solución aparece cuando cada parte del problema está resuelta mediante uno o más elementos de software. El diseño y la especificación completa de la estructura de los sistemas de software, según Shaw y Garlan (1996), se está transformando en un aspecto de más importancia que la escogencia de los algoritmos y las estructuras de datos, en virtud del tamaño y la complejidad de estos es la actualidad

33 Arquitectura de Software Diseñar la arquitectura del software, según estos mismos autores, es definir los aspectos estructurales como una composición de componentes, las estructuras globales de control, los protocolos de comunicación, la sincronización y acceso a los datos, la asignación de la funcionalidad a los elementos del diseño, la composición de estos elementos, su distribución física, su escalabilidad y su desempeño.

34 Arquitectura de Software Define al sistema en términos de elementos computacionales y de las interacciones entre ellos. La arquitectura muestra la correspondencia entre los requerimientos de sistemas y los elementos del sistema construido, proveyendo así una exposición racional para las decisiones de diseño.

35 Arquitectura de Software ELEMENTOS COMPUTACIONALES. Son entidades tales como clientes, servidores, bases de datos, filtros y capas de un sistema jerárquico. Son además, una parte encapsulada del sistema de software, donde cada uno tiene una interfaz. INTERACCIONES. Ocurren entre los elementos a nivel de diseño, pudiendo ser tan simples como las llamadas a procedimientos o variables de acceso, o tan complejas y semánticamente ricas como los protocolos del modelo cliente/servidor, los protocolos de acceso a las bases de datos. (Shaw y Garlan, 1996).

36 Arquitectura de Software RELACIONES. Denotan las conexiones entre los elementos computacionales y/o componentes. Una relación puede ser estática o dinámica. Relaciones estáticas. Se muestran en el código fuente, ellas reflejan la colocación de los componentes dentro de la arquitectura. Relaciones dinámicas. Tratan con las conexiones temporales y las interacciones dinámicas entre los componentes. Ellas no son fácilmente visibles a partir del código fuente.

37 Actividad Práctica PIENSE ESCRIBA COMPARTA Duración 15 minutos 1. De manera individual y en 10 minutos, PIENSE y ESCRIBA la respuesta de lo siguiente: Cuál es la diferencia entre Arquitectura de Software y Diseño de Software? 2. A nivel grupal y en máximo 5 minutos, COMPARTA lo que escribió en el paso anterior.

38 Representación de la Arquitectura En la actualidad el desarrollo de los sistemas se centra en la arquitectura de software y es especificada utilizando el Modelo 4+1 Vistas de Kruchten (1995). Usuarios finales funcionalidad Vista Vista Lógica Lógica Programadores gerencia del software Vista Vista de de Implementación Implementación Casos Casos de de Uso Uso Vista Vista de de Proceso Proceso Integradores de sistemas desempeño escalabilidad rendimiento Vista Vista de de Implantación Implantación Ingenieros de sistemas topología del sistema entregas instalación telecomunicación

39 Representación de la Arquitectura VISTA LÓGICA. Describe el modelo objeto del diseño cuando un método de diseño O-O es usado;se puede usar un enfoque alterno para desarrollar alguna otra forma de vista lógica VISTA DE PROCESO. Describe los aspectos de diseño relacionados con la concurrencia y la sincronización. VISTA IMPLANTACIÓN. Describe el mapa del SW dentro del HW refleja los aspectos de distribución.

40 Representación de la Arquitectura VISTA DE IMPLEMENTACIÓN. Describe la organización estática del software en el ambiente de desarrollo. CASOS DE USO. Los diseñadores de software organizan la descripción de sus decisiones arquitecturales alrededor de estas cuatro (4) vistas, y las ilustran con una pequeña selección de casos de uso o escenarios, constituyendo así la quinta vista. La arquitectura está parcialmente producida por esos escenarios.

41 Representación de la Arquitectura Lógica Procesos Se identifican características tales como: Autonomía, quien invoca a quien. Persistencia. Distribución: desde donde son accesibles las operaciones. Lógica Implementación Una clase se puede implementar en un módulo, paquete, etc.

42 Decisiones Arquitectónicas Si una propiedad de un elemento arquitectónico no es visible o no es discernible de cualquier otro elemento arquitectónico, ese elemento no es arquitectónico. La selección de un manejador de base de datos no es una decisión arquitectónica. La razón de su existencia no es materia (no le concierne) a las metas arquitectónicas. Las decisiones son arquitectónicas o no de acuerdo al contexto. Si la estructura es importante para alcanzar las metas del sistema la estrutura es arquitectónica.

43 Actividad Práctica PIENSE ESCRIBA COMPARTA Duración 15 minutos 1. De manera individual y en 10 minutos, PIENSE y ESCRIBA la respuesta de lo siguiente: De dos ejemplos de decisiones arquitectónicas De un ejemplo de una decisión no arquitectónica 2. A nivel grupal y en máximo 5 minutos, COMPARTA lo que escribió en el paso anterior.

44

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño. Definición de diseño Proceso para la definición detallada de un sistema con el fin de su realización física. Ingeniería del Software 1 Ingeniería del Software 2 Modelo de diseño vs. Paradigma de IS 3 actividades

Más detalles

Fundamentos del diseño de software

Fundamentos del diseño de software Fundamentos del diseño de software El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de ingeniería. Definición de diseño según Taylor Proceso de aplicar distintas técnicas

Más detalles

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software Principio de Diseño Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002 Introducción al Diseño de Software Qué es el diseño? Representación ingenieril

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: ARQUITECTURA DEL SISTEMA DE SOFTWARE NIVELES DE DISEÑO DE LOS SISTEMAS DE SOFTWARE CUALIDADES DE LAS ARQUITECTURAS ESTILOS Y PATRONES - ESTILOS ARQUITECTÓNICO - PATRÓN ARQUITECTÓNICO FRAMEWORK

Más detalles

Ingeniería del Software

Ingeniería del Software Tema 5: Dr. Francisco José García Peñalvo (fgarcia@usal.es) Miguel Ángel Conde González (mconde@usal.es) Sergio Bravo Martín (ser@usal.es) Obtener nivel de usuario Nivel usuario Leer nivel de usuario Obtener

Más detalles

EL PROCESO DE DISEÑO DEL SOFTWARE

EL PROCESO DE DISEÑO DEL SOFTWARE UNIDAD VI EL PROCESO DE DISEÑO DEL SOFWARE Contenido: 6.1 El diseño en la Ingeniería de Software 6.2 El proceso de Diseño 6.3 Fundamentos de Diseño 6.4 Diseño de Datos 6.5 Diseño Arquitectónico 6.6 Diseño

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

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

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

Universidad Nacional de la Patagonia San Juan Bosco Facultad de Ingeniería. Cátedra: Análisis y Diseño de Sistemas. Unidad 4: El Proceso de Diseño

Universidad Nacional de la Patagonia San Juan Bosco Facultad de Ingeniería. Cátedra: Análisis y Diseño de Sistemas. Unidad 4: El Proceso de Diseño Universidad Nacional de la Patagonia San Juan Bosco Facultad de Ingeniería Cátedra: Análisis y Diseño de Sistemas Unidad 4: El Proceso de Diseño Diseño e Ingeniería de Software En el proceso de desarrollo

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Ingeniería del Universidad Rey Juan Carlos César Javier Acuña cjacunia@escet.urjc.es Índice Introducción Motivación Definición Pipes and Filters Tipos abstractos de datos y OO

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.

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

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

Más detalles

3. EL PROCESO DEL DISEÑO ARQUITECTÓNICO

3. EL PROCESO DEL DISEÑO ARQUITECTÓNICO EMA - DISEÑO ESRUCURADO 1. INRODUCCIÓN Los métodos de diseño del software se obtienen del estudio de cada uno de los tres dominios del modelo de análisis. El dominio de los datos, el funcional y el de

Más detalles

Introducción. Entre los modelos de análisis y diseño esta el estructurado.

Introducción. Entre los modelos de análisis y diseño esta el estructurado. Análisis y Diseño Orientado a Procesos Sección: 5T2_Co. Grupo: N 2 Docente: Ing. Magda Luna. Asignatura: Ingeniería De Software II Integrantes: Yessenia Del Carmen Meléndez Morales 2001-10007. Tania Margarita

Más detalles

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

La importancia del desarrollo para el buen diseño del software

La importancia del desarrollo para el buen diseño del software La importancia del desarrollo para el buen diseño del software RESUMEN N L González Morales. 1 En este ensayo se examinan los temas vistos en clase que son Desarrollo de Orientado a Objetos y Arquitectura

Más detalles

Evolución histórica 60 -. Metodologías

Evolución histórica 60 -. Metodologías TEMA 1 INTRODUCCIÓN Historia Evolución de las técnicas de programación Qué es orientado a objetos? Factores cruciales que miden la calidad del software Externos Internos La familia Orientada a objetos

Más detalles

Tema 3 Metodologías de Desarrollo de Software

Tema 3 Metodologías de Desarrollo de Software Ingeniería del Software Ingeniería del Software de Gestión Tema 3 Metodologías de Desarrollo de Software Félix Óscar García Rubio Crescencio Bravo Santos Índice 1. Definiciones 2. Objetivos 3. Conceptos

Más detalles

Proceso de desarrollo del software modelo en cascada

Proceso de desarrollo del software modelo en cascada Proceso de desarrollo del software modelo en cascada Análisis: Necesidades del usuario especificaciones Diseño: Descomposición en elementos que puedan desarrollarse por separado especificaciones de cada

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Elementos del modelo de análisis. Modelado del análisis

Elementos del modelo de análisis. Modelado del análisis Mecanismos del anál. Ingeniería del Software 1 Elementos del modelo de análisis Objetivos Describir lo que requiere el cliente Establecer base para la creación de un diseño SW Definir conjunto de requisitos

Más detalles

Trabajo de Investigación

Trabajo de Investigación Escuela Técnica Superior de Ingeniería Informática Departamento: Ingeniería de Software y Sistemas Informáticos Trabajo de Investigación Arquitecturas Software: Gestión de los atributos de calidad de un

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

ASI. Análisis del Sistema de Información

ASI. Análisis del Sistema de Información ASI Análisis del Sistema de Información 1 ASI Análisis del Sistema de Información Introducción Objetivo Obtención de una especificación detallada del Sistema Información a través de: Catálogo de Requisitos

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería Departamento de Informática, UTFSM 1 Introducción a UML Historia Potencialidades Diagramas soportados UML en el proceso de desarrollo de SW. Introducción a UML Necesidad

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

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

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

GESTIÓN DE PROYECTOS DE SOFTWARE

GESTIÓN DE PROYECTOS DE SOFTWARE GESTIÓN DE PROYECTOS DE SOFTWARE LA PLANIFICACIÓN de proyectos se define como la predicción de la duración de las actividades y tareas a escala individual. LA ESTIMACIÓN se define como la predicción de

Más detalles

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS CARRERAS DE DOS AÑOS TECNICATURA EN PROGRAMACIÓN DE COMPUTADORAS PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS Resolución UB 004/14 ANEXO Tabla general de asignaturas del Plan de Estudios y Obligaciones Académicas

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

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

PATRONES. Experto. Solución:

PATRONES. Experto. Solución: PATRONES. Experto. Asignar una responsabilidad a la clase que tiene la información necesaria para cumplirla. Cuál es el principio fundamental en virtud del cual asignaremos las responsabilidades a los

Más detalles

Índice. http://www.dicampus.es

Índice. http://www.dicampus.es Módulo 2 UML Índice Introducción a UML Lenguaje Unificado de Modelado (UML) Diagramas UML Diagramas de casos de uso Diagramas estructurales: Clases Diagramas estructurales: Objetos Diagramas de interacción:

Más detalles

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición.

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición. Glosario Aclaraciones Los conceptos del glosario están ordenados alfabéticamente. Un concepto puede ser un único término como meta o una frase como ambiente de ingeniería de software centrado en procesos.

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO) Diseño Orientado a Objetos. Metodología enfocada a la solución de problemas complejos. Complejidad del software. Problemas difíciles de precisar. Definición de requerimientos vago y cambio en el desarrollo

Más detalles

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007 Análisis de Sistemas M.Sc. Lic. Aidee Vargas C. C. octubre 2007 Metodologías de Desarrollo de Software Las metodologías existentes se dividen en dos grandes grupos: Metodologías estructuradas Metodologías

Más detalles

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones Univ. Cantabria Fac. de Ciencias Patricia López Modelo de Casos de Uso vs Modelo de Análisis Modelo de Casos de Uso Modelo de Análisis Descrito con el

Más detalles

implantación Fig. 1. Ciclo de vida tradicional

implantación Fig. 1. Ciclo de vida tradicional 1. Ciclo de vida tradicional de los sistemas de software En ingeniería de software, la descripción tradicional del ciclo de vida del software está basada en un modelo conocido como el modelo de cascada

Más detalles

ADMINISTRACIÓN DE PROYECTOS

ADMINISTRACIÓN DE PROYECTOS ADMINISTRACIÓN DE PROYECTOS QUÉ ES LA ADMINISTRACIÓN DE PROYECTOS? Es la planeación, organización, dirección y control de los recursos para lograr un objetivo a corto plazo. También se dice que la administración

Más detalles

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN Formar profesionales altamente capacitados, desarrollar investigación y realizar actividades de extensión, en Matemáticas y Computación, así

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

1. Cuál es el objetivo del proceso de Análisis del Sistema de Información? del sistema. a. 10. b. 12. c. 9. d. 11. Análisis

1. Cuál es el objetivo del proceso de Análisis del Sistema de Información? del sistema. a. 10. b. 12. c. 9. d. 11. Análisis 1. Cuál es el objetivo del proceso de del Sistema de Información? a. La obtención de una especificación detallada del sistema de información que satisfaga las necesidades de información de los usuarios

Más detalles

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es Tema 5: El Lenguaje Unificado de Modelado Departamento de Lenguajes y Sistemas Informáticos II Contenidos Introducción Diagramas de UML Modelado de la parte estática Modelado de la parte dinámica Las 4+1

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software Fundamentos de Ingeniería del Software Capítulo 11. Reutilización del software Reutilización del software. Estructura 1. Reutilización del software 2. Beneficios de la reutilización 3. Dificultades para

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

6.8 La Arquitectura del Sistema. [Proceso]

6.8 La Arquitectura del Sistema. [Proceso] 6.8 La Arquitectura del Sistema. [Proceso] En el Caso de Estudio se ha hecho énfasis en los objetos del Dominio del problema, ya que representan la esencia del sistema y definen su comportamiento. Sin

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN Principios y criterios para la evaluación del ciclo de vida de desarrollo de sistemas Se pueden enunciar algunos principios para desarrollar

Más detalles

Métricas. Valentin Laime. Calidad de Software

Métricas. Valentin Laime. Calidad de Software Calidad de Software: Métricas Valentin Laime Calidad de Software 10/29/2014 1 Métricas Que miden Beneficios Medidas Productividad Calidad Futuras Estimaciones Directas Indirectas Defecto/fallo Vs. Error

Más detalles

SISTEMAS DE INFORMACIÓN I TEORÍA

SISTEMAS DE INFORMACIÓN I TEORÍA CONTENIDO: CICLO DE VIDA DE DESARROLLO DE SI FASES GENÉRICAS DEL CICLO DE VIDA DE DESARROLLO DE SI VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI DE DESARROLLO DE SI: ANÁLISIS Material diseñado

Más detalles

GENERALIDADES DE LA COMUNICACIÓN DE DATOS

GENERALIDADES DE LA COMUNICACIÓN DE DATOS Comunicaciones I Capítulo 1 GENERALIDADES DE LA COMUNICACIÓN DE DATOS 1 El Sistema de Comunicación Sistema de comunicación: Lleva a cabo el intercambio de información entre dos entes ubicados en los extremos

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

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

Ingeniería de software orientado a agentes

Ingeniería de software orientado a agentes Ingeniería de software orientado a agentes ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/2015 1 / 52 Índice 1 Ingeniería de software

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Concepto de Procesamiento Distribuido y Centralizado

Concepto de Procesamiento Distribuido y Centralizado Concepto de Procesamiento Distribuido y Centralizado Procesamiento Centralizado: En la década de los años 50 s las computadoras eran máquinas del tamaño de todo un cuarto con las siguientes características:

Más detalles

TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Dr. José Ignacio Peláez Sánchez E.T.S.I. Informática de Sistemas. 3 er Curso.

TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Dr. José Ignacio Peláez Sánchez E.T.S.I. Informática de Sistemas. 3 er Curso. TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Dr. E.T.S.I. Informática de Sistemas. 3 er Curso. Año 2004/2005 Visión General Importancia de la Ingeniería del Software. Retraso en la llegada de la Ingeniería

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

2.1 Ingeniería de Software

2.1 Ingeniería de Software Capítulo 2 Marco Teórico Se pretende desarrollar un software que pueda ser aplicado como una herramienta útil para la administración de una empresa. Es necesario tener en cuenta que, en todo desarrollo

Más detalles

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra Si en otros tiempos el factor decisivo de la producción era la tierra y luego lo fue el capital... hoy día el factor decisivo es cada vez más el hombre mismo, es decir, su conocimiento... Juan Pablo II

Más detalles

Historia de revisiones

Historia de revisiones Herbert Game Descripción de la Arquitectura Versión 1.8 Historia de revisiones Fecha Versión Descripción Autor 29/08/2011 1.0 Creación del documento Juan Pablo Balarini Máximo Mussini 30/08/2011 1.1 Actualización

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

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

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

CONCEPTOS Y PRINCIPIOS DE DISEÑO

CONCEPTOS Y PRINCIPIOS DE DISEÑO CAPÍTULO 13 CONCEPTOS Y PRINCIPIOS DE DISEÑO E L objetivo de los diseñadores es producir un modelo o representación de una entidad que se será construida a posteriori. Belady describe el proceso mediante

Más detalles

Modelado y Diseño de Arquitectura de Software

Modelado y Diseño de Arquitectura de Software Modelado y Diseño de Arquitectura de Software CONCEPTOS DE MODELADO Fernando Barraza A. MS.c. fernando.barraza@gmail.com 2 Desarrollo de sistemas de software Requisitos funcionales del software Si todo

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

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

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas SGBD Base de Un Sistema Gestor de consiste en: Datos Una colección de datos interrelacionados Un conjunto de programas para acceder a los datos Objetivo Principal de un SGBD: Proporcionar una forma práctica

Más detalles

Estilos y Patrones Arquitectónicos

Estilos y Patrones Arquitectónicos Lic. Ariel Trellini Estilos y Patrones Arquitectónicos Llamando a las cosas por su nombre Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura y Diseño de Sistemas

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

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

CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS

CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA

Más detalles

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP Dolly Gómez Santacruz dollygos@univalle.edu.co Arquitectura de Redes Introducción Las comunicaciones en redes son complejas,

Más detalles