Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas
|
|
- Ana Isabel Segura Morales
- hace 8 años
- Vistas:
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)
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 detallesIntroducció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 detallesDiseñ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 detallesResumen 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 detallesProceso 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 detallesFundamentos 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 detallesUNIDAD 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 detallesQué 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 detallesDISEÑ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 detallesPROGRAMACIÓ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 detallesEL 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 detallesDiseñ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 detallesCapítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
Más detallesIngenierí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 detallesRepetir 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 detallesFigure 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 detallesPROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0
Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. PROYECTO
Más detallesSISTEMAS 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 detallesAná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 detalles4. 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 detallesPRUEBAS 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 detallesProceso 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 detallesSISTEMAS 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 detallesArquitecturas 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 detallesDISEÑ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 detallesPatrones 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 detalles3.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 detallesEntidad Formadora: Plan Local De Formación Convocatoria 2010
Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú
Más detallesINGENIERÍ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 detallesTema 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 detallesM.T.I. Arturo López Saldiña
M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil
Más detallesimplantació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 detallesANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN
ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini
Más detallesMetodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales
Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com
Más detallesTópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN
Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.
Más detallesARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
Más detallesDiagrama 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 detallesIWG-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 detallesElementos 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 detallesIntroducció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 detallesIngeniería de Software. Pruebas
Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en
Más detallesAutenticación Centralizada
Autenticación Centralizada Ing. Carlos Rojas Castro Herramientas de Gestión de Redes Introducción En el mundo actual, pero en especial las organizaciones actuales, los usuarios deben dar pruebas de quiénes
Más detallesGUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000
1 INTRODUCCIÓN Dos de los objetivos más importantes en la revisión de la serie de normas ISO 9000 han sido: desarrollar un grupo simple de normas que sean igualmente aplicables a las pequeñas, a las medianas
Más detallesEstructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
Más detallesTELECOMUNICACIONES Y REDES
TELECOMUNICACIONES Y REDES Redes Computacionales I Prof. Cristian Ahumada V. Unidad V: Capa de Red OSI 1. Introducción. 2. Protocolos de cada Red 3. Protocolo IPv4 4. División de Redes 5. Enrutamiento
Más detallesUnidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)
Unidades temáticas de Ingeniería del Software Fases del proceso de desarrollo 4ª edición (2008) Facultad de Informática organización del desarrollo El ciclo de vida del software abarca el proceso de desarrollo,
Más detallesProject 2013. Ing. Christian Ovalle
2013 Ing. Christian Ovalle PROJECT Antes de comenzar un proyecto se necesitan definir los objetivos de un proyecto y luego determinado, cuales son las tareas que necesita realizar para alcanzar ese objetivo.
Más detallesEstas visiones de la información, denominadas vistas, se pueden identificar de varias formas.
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los
Más detallesMACROPROCESO GESTIÓN TECNOLÓGICA
Versión 1.0 Página 1 de 5 1. OBJETIVO Suministrar las fases para la puesta en producción de aplicaciones y sistemas de información desarrollados o adquiridos por el Instituto Colombiano de Bienestar Familiar
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesIntroducción a las redes de computadores
Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes
Más detalles2 EL DOCUMENTO DE ESPECIFICACIONES
Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir
Más detallesGestión de la Configuración
Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de
Más detallesUniversidad Autónoma del Perú Ingeniería de Sistemas. Ing. Heyner Ninaquispe Castro Sesión 1
Universidad Autónoma del Perú Ingeniería de Sistemas Ingeniería de la Información Apuntes Generales Ing. Heyner Ninaquispe Castro Sesión 1 Agenda 1.- Objetivo 2.- Introducción 3.- Características 4.- Niveles
Más detallesGestión de Configuración del Software
Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software
Más detallesCapas del Modelo ISO/OSI
Modelo ISO/OSI Fue desarrollado en 1984 por la Organización Internacional de Estándares (ISO), una federación global de organizaciones que representa aproximadamente a 130 países. El núcleo de este estándar
Más detallesIngenierí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 detallesTécnica - Diagrama de Flujo de Datos (DFD)
Técnica - Diagrama de Flujo de Datos (DFD) Diagrama de Flujo de Datos (DFD) OBJETIVO Construir un modelo lógico del Sistema que facilite su comprensión tanto al equipo de desarrollo como a sus usuarios
Más detallesInicio 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 detallesArquitectura 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 detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detalles1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura
1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos
Más detallesEl Software. Es lo que se conoce como el ciclo de vida del software.
El Software Hace referencia a los programas y toda la información asociada y materiales necesarios para soportar su instalación, operación, reparación, y mejora. Para construir un nuevo elemento software
Más detalles<Generador de exámenes> Visión preliminar
1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,
Más detallesPlan de estudios ISTQB: Nivel Fundamentos
Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE
Más detallesSCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es
SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática
Más detallesBusiness Process Management(BPM)
Universidad Inca Garcilaso de la Vega CURSO DE ACTUALIZACIÓN PROFESIONAL DE INGENIERÍA DE SISTEMAS Y CÓMPUTO Business Process Management(BPM) MSc. Daniel Alejandro Yucra Sotomayor E-mail: daniel@agenciati.com
Más detallesRBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC
RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC Proyecto Integrador de Tecnologías Computacionales Autor: Roberto García :: A00888485 Director: Jorge A. Torres Jiménez Contenido Introducción
Más detallesPresentación de Pyramid Data Warehouse
Presentación de Pyramid Data Warehouse Pyramid Data Warehouse tiene hoy una larga historia, desde 1994 tiempo en el que su primera versión fue liberada, hasta la actual versión 8.00. El incontable tiempo
Más detallesCAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos
65 CAPITULO 3 DISEÑO 3.1. DISEÑO El diseño del software es el proceso que permite traducir los requisitos analizados de un sistema en una representación del software. 66 Diseño procedural Diseño de la
Más detallesCreación y administración de grupos locales
Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales
Más detallesTema 1. Conceptos fundamentales de los Sistemas Operativos
Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.
Más detallesUniversidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática
Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)
Más detallesCapítulo VI. Diagramas de Entidad Relación
Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...
Más detallesGeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008
Última actualización: 01 de Setiembre de 2008 Copyright Artech Consultores S. R. L. 1988-2008. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento
Más detallesConceptos básicos de Ingeniería de Software
de Ingeniería de Software Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 5 de septiembre del 2012 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 1 / 23 Objetivos Objetivos
Más detallesSISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008
2.1 FACTORES SEGÚN ERP s Propuesta metodológica para la gestión del conocimiento durante la implantación de sistemas ERP Propuesta metodológica La propuesta metodológica aquí desarrollada parte de un modelo
Más detallesPROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04
Autorización Este documento entra en vigor a partir del 2 de agosto del 2005, a través de su autorización por parte del Dr. Francisco Javier Rojas Monroy, Coordinador de Operaciones, Calidad y Teclogía
Más detallesCreación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
Más detallesSistemas de Gestión de Calidad. Control documental
4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4
Más detalles1.2 SISTEMAS DE PRODUCCIÓN
19 1.2 SISTEMAS DE PRODUCCIÓN Para operar en forma efectiva, una empresa manufacturera debe tener sistemas que le permitan lograr eficientemente el tipo de producción que realiza. Los sistemas de producción
Más detallesDiseñ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 detallesCalidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007
Calidad Calidad Definición de diccionario: Conjunto de Cualidades que constituyen la manera de ser de una persona o cosa. En términos generales podemos definir la calidad como conjunto de características
Más detalles1.1 EL ESTUDIO TÉCNICO
1.1 EL ESTUDIO TÉCNICO 1.1.1 Definición Un estudio técnico permite proponer y analizar las diferentes opciones tecnológicas para producir los bienes o servicios que se requieren, lo que además admite verificar
Más detallesUNIVERSIDAD DE SALAMANCA
UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA
Más detallesUnidad III. Software para la administración de proyectos.
Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de
Más detallesIntroducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com
Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.
Más detallesInfraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor
Infraestructura Tecnológica Sesión 5: Arquitectura cliente-servidor Contextualización Dentro de los sistemas de comunicación que funcionan por medio de Internet podemos contemplar la arquitectura cliente-servidor.
Más detallesCiclo de vida y Requerimientos de software. Laboratorio de Programación
Ciclo de vida y Requerimientos de software Laboratorio de Programación b d ó Parte 1 Un modelo es una estructura guía, abstracciones, marcos del proceso que pueden se extendidos y adaptados d para crear
Más detallesLINEAMIENTOS DE RENDICIÓN DE CUENTAS DE LA CREG
LINEAMIENTOS DE RENDICIÓN DE CUENTAS DE LA CREG La política de rendición de cuentas establecida por el Gobierno Nacional a través del documento CONPES 3654 de 2010 busca consolidar una cultura de apertura
Más detalles2.4 Modelado conceptual
2.4 Modelado conceptual 2.4. Búsqueda de conceptos Un modelo conceptual muestra clases conceptuales significativas en un dominio del problema; es el artefacto más importante que se crea durante el análisis
Más detallesSEMANA 12 SEGURIDAD EN UNA RED
SEMANA 12 SEGURIDAD EN UNA RED SEGURIDAD EN UNA RED La seguridad, protección de los equipos conectados en red y de los datos que almacenan y comparten, es un hecho muy importante en la interconexión de
Más detallesUna puerta abierta al futuro
Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico
Más detallesFigure 9-1: Phase C: Information Systems Architectures
FASE C Figure 9-1: Phase C: Information Systems Architectures Objetivos Los objetivos de la Fase C son: Desarrollar la arquitectura de sistemas de información objetivo (datos y aplicaciones), que describe
Más detallesComponentes de Integración entre Plataformas Información Detallada
Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.
Más detallesModelo de Proceso: Ciclo de Vida Estructurado
Modelo de Proceso: Ciclo de Vida Estructurado Edward Yourdon (1999) Análisis Estructurado Moderno EL CICLO DE VIDA ESTRUCTURADO DEL PROYECTO Es importante verlo como un diagrama de flujo de datos. No es
Más detallesLiLa Portal Guía para profesores
Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista
Más detallesUNIDADES DE ALMACENAMIENTO DE DATOS
1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo
Más detallesArquitectura de red distribuida: escalabilidad y equilibrio de cargas en un entorno de seguridad
Arquitectura de red distribuida: escalabilidad y equilibrio de cargas en un entorno de seguridad por Warren Brown Las compañías multinacionales y los hospitales, universidades o entidades gubernamentales
Más detalles