El documento describe los fundamentos del diseño de software. Explica que el diseño traduce los requisitos del usuario en una representación para construir el software de manera repetitiva. Incluye los procesos de diseño de datos, arquitectónico, de interfaz y procedimentales. También cubre estrategias de diseño estructural y orientado a objetos, así como métodos, herramientas de representación y medidas para evaluar la calidad del diseño.
Este documento presenta una introducción al modelado, análisis, diseño y documentación de proyectos de software. Explica que el modelado es una actividad formal para entender y comunicar aspectos del mundo real mediante el uso de lenguajes naturales, notaciones semi-formales o formales. Describe técnicas como el modelado empresarial, de requerimientos funcionales y no funcionales. También cubre conceptos clave del análisis como las transformaciones y flujos de datos. Finalmente, detalla etapas del diseño como el preliminar, detallado
El documento proporciona directrices para el diseño de software de alta calidad. Indica que un buen diseño debe implementar todos los requisitos del análisis, ser comprensible, y proporcionar una visión completa del software. Además, debe presentar una arquitectura modular creada con patrones de diseño reconocidos y que facilite la implementación evolutiva. Finalmente, el diseño debe derivarse de forma controlada y repetitiva de los requisitos del análisis.
Este documento presenta una introducción a la ingeniería de software y al Rational Unified Process (RUP). Explica que la ingeniería de software es una disciplina que ofrece conocimientos y métodos para desarrollar software de calidad. Luego describe algunos conceptos clave como procesos de software, modelos de proceso y fases genéricas. Finalmente, brinda una descripción general de RUP, incluyendo sus fases, iteraciones, roles y artefactos.
Este documento presenta una introducción a la ingeniería de software y al proceso RUP. Explica que la ingeniería de software es una disciplina que desarrolla software de calidad mediante métodos, procesos y herramientas. Luego describe los componentes clave de RUP, incluidas sus fases, iteraciones, roles y artefactos. Finalmente, resume que RUP captura las mejores prácticas de desarrollo de software y es una guía para usar UML de manera efectiva.
Este documento presenta una introducción a la ingeniería de software y al proceso RUP. Explica que la ingeniería de software es una disciplina que ofrece conocimientos y métodos para desarrollar software de calidad. Luego describe los componentes clave de la ingeniería de software como procesos, métodos y herramientas. Finalmente, introduce el proceso RUP como un proceso de ingeniería de software orientado a objetos que consiste en actividades, roles, flujos de trabajo y artefactos para transformar los requisitos de los usuarios en un sistema de software.
El documento describe las 7 fases del ciclo de vida de desarrollo de sistemas: 1) Planeación, 2) Análisis, 3) Diseño, 4) Desarrollo, 5) Prueba, 6) Implementación, 7) Mantenimiento y actualización. Cada fase tiene un propósito específico como definir requisitos, diseñar la arquitectura, codificar, probar el software, e implementarlo antes de darlo de alta y mantenerlo.
Este documento presenta información sobre ingeniería de software. Se proporcionan definiciones de ingeniería de software, se describen los modelos de procesos como el modelo en cascada y el modelo incremental. También se detallan las fases del proyecto de software e identifican roles clave como analistas, programadores y clientes. El documento ofrece una introducción general a conceptos fundamentales de ingeniería de software.
Fundamentos basicos del diseño de softwareJesús Molleda
Este documento presenta los fundamentos básicos para el diseño de software. Explica que el diseño de software consiste en crear una especificación de un artefacto de software para cumplir unos objetivos utilizando componentes primitivos y sujeto a restricciones. Luego describe los fundamentos como la abstracción, refinamiento, modularidad, arquitectura, jerarquía de control, estructura de datos, procedimientos y ocultamiento de información. Finalmente, cubre temas como el diseño orientado a objetos, garantías de calidad y técnicas de
Este documento presenta una introducción al modelado, análisis, diseño y documentación de proyectos de software. Explica que el modelado es una actividad formal para entender y comunicar aspectos del mundo real mediante el uso de lenguajes naturales, notaciones semi-formales o formales. Describe técnicas como el modelado empresarial, de requerimientos funcionales y no funcionales. También cubre conceptos clave del análisis como las transformaciones y flujos de datos. Finalmente, detalla etapas del diseño como el preliminar, detallado
El documento proporciona directrices para el diseño de software de alta calidad. Indica que un buen diseño debe implementar todos los requisitos del análisis, ser comprensible, y proporcionar una visión completa del software. Además, debe presentar una arquitectura modular creada con patrones de diseño reconocidos y que facilite la implementación evolutiva. Finalmente, el diseño debe derivarse de forma controlada y repetitiva de los requisitos del análisis.
Este documento presenta una introducción a la ingeniería de software y al Rational Unified Process (RUP). Explica que la ingeniería de software es una disciplina que ofrece conocimientos y métodos para desarrollar software de calidad. Luego describe algunos conceptos clave como procesos de software, modelos de proceso y fases genéricas. Finalmente, brinda una descripción general de RUP, incluyendo sus fases, iteraciones, roles y artefactos.
Este documento presenta una introducción a la ingeniería de software y al proceso RUP. Explica que la ingeniería de software es una disciplina que desarrolla software de calidad mediante métodos, procesos y herramientas. Luego describe los componentes clave de RUP, incluidas sus fases, iteraciones, roles y artefactos. Finalmente, resume que RUP captura las mejores prácticas de desarrollo de software y es una guía para usar UML de manera efectiva.
Este documento presenta una introducción a la ingeniería de software y al proceso RUP. Explica que la ingeniería de software es una disciplina que ofrece conocimientos y métodos para desarrollar software de calidad. Luego describe los componentes clave de la ingeniería de software como procesos, métodos y herramientas. Finalmente, introduce el proceso RUP como un proceso de ingeniería de software orientado a objetos que consiste en actividades, roles, flujos de trabajo y artefactos para transformar los requisitos de los usuarios en un sistema de software.
El documento describe las 7 fases del ciclo de vida de desarrollo de sistemas: 1) Planeación, 2) Análisis, 3) Diseño, 4) Desarrollo, 5) Prueba, 6) Implementación, 7) Mantenimiento y actualización. Cada fase tiene un propósito específico como definir requisitos, diseñar la arquitectura, codificar, probar el software, e implementarlo antes de darlo de alta y mantenerlo.
Este documento presenta información sobre ingeniería de software. Se proporcionan definiciones de ingeniería de software, se describen los modelos de procesos como el modelo en cascada y el modelo incremental. También se detallan las fases del proyecto de software e identifican roles clave como analistas, programadores y clientes. El documento ofrece una introducción general a conceptos fundamentales de ingeniería de software.
Fundamentos basicos del diseño de softwareJesús Molleda
Este documento presenta los fundamentos básicos para el diseño de software. Explica que el diseño de software consiste en crear una especificación de un artefacto de software para cumplir unos objetivos utilizando componentes primitivos y sujeto a restricciones. Luego describe los fundamentos como la abstracción, refinamiento, modularidad, arquitectura, jerarquía de control, estructura de datos, procedimientos y ocultamiento de información. Finalmente, cubre temas como el diseño orientado a objetos, garantías de calidad y técnicas de
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de actividades, acciones, tareas, flujo de trabajo, fundamentos y productos de trabajo que se requieren para software de alta calidad.
Sesión 3: Modelos prescriptivos de proceso de softwareLuis Fernández
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de actividades, acciones, tareas, flujo de trabajo, fundamentos y productos de trabajo que se requieren para software de alta calidad.
1. El modelo en V es conocido como el modelo de cuatro niveles y representa el proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios. 2. Las cuatro etapas son análisis de requisitos y especificación, análisis funcional, arquitectura del sistema e implementación. 3. La parte izquierda de la V representa la definición de especificaciones mientras que la parte derecha representa la verificación contra las especificaciones definidas.
Este documento describe y compara varios modelos prescriptivos de proceso de ingeniería de software, incluyendo el modelo en cascada, modelos incrementales, modelo DRA, modelos evolutivos como la construcción de prototipos y el modelo en espiral, modelos concurrentes y modelos especializados. También explica el proceso unificado, el cual es un ciclo de vida incremental e iterativo centrado en casos de uso y arquitectura.
El documento describe el ciclo de vida de los sistemas y el desarrollo de sistemas desde el enfoque de la ingeniería de la información. Explica las diferentes etapas del ciclo de vida de los sistemas como el análisis, diseño, implementación, pruebas y mantenimiento. También describe la pirámide de la ingeniería de la información que incluye el planeamiento estratégico, análisis del área de negocio, proyecto de sistemas de información y construcción del sistema de información.
El documento describe el ciclo de vida de los sistemas y el desarrollo de sistemas desde el enfoque de la ingeniería de la información. Explica las diferentes etapas del ciclo de vida de los sistemas como el análisis, diseño, implementación, pruebas y mantenimiento. También describe la pirámide de la ingeniería de la información que incluye el planeamiento estratégico, análisis del área de negocio, proyecto de sistemas de información y construcción del sistema de información.
Este documento presenta varios modelos de desarrollo de software, incluyendo el modelo cascada, incremental, espiral, de componentes y ágiles como Scrum y Desarrollo Adaptativo de Software. Describe las fases, actividades, roles y características clave de cada modelo. El objetivo es proporcionar una introducción a los principales enfoques para el desarrollo de software.
Este documento describe los fundamentos básicos para el diseño de software. Explica que el diseño de software permite a los ingenieros crear modelos de la solución y evaluar cuál cumple mejor con los requisitos. También destaca la importancia del diseño, ya que un mal diseño puede causar problemas a lo largo del proyecto. Finalmente, presenta diferentes estrategias, técnicas y principios clave para el diseño de software, como la modularidad, documentación, uso de patrones de diseño y calidad.
El documento describe las técnicas de cuarta generación para el desarrollo de software, las cuales permiten especificar características del software a alto nivel para luego generar automáticamente el código fuente. Se mencionan herramientas como lenguajes de consulta a bases de datos y generación de informes y pantallas. También se discuten ventajas como la reducción en tiempo de desarrollo y desventajas como código poco eficiente y mantenimiento cuestionable.
Este documento presenta una unidad sobre el análisis de proyectos de software. Explica conceptos clave como el modelado, análisis, diseño y documentación de software, así como su construcción, codificación, pruebas y evaluación. Se describen técnicas como el modelado, análisis de requisitos, diseño modular y por niveles de abstracción, y pruebas de software. El documento provee una guía completa para el desarrollo de proyectos de software.
El documento habla sobre el diseño estructurado de software. Explica que el diseño estructurado se enfoca en desarrollar especificaciones del software mediante descripciones gráficas, con el objetivo de crear programas formados por módulos independientes desde el punto de vista funcional. Luego describe cuatro pasos claves del diseño estructurado: diseño de datos, diseño de interfaz, diseño procedimental y diseño arquitectónico. Finalmente, enlista algunas características y principios importantes del diseño de software.
Este documento describe varios modelos de procesos de desarrollo de software, incluyendo:
1) El modelo en cascada, que sigue un enfoque secuencial de análisis, diseño, codificación, prueba y mantenimiento.
2) El modelo en espiral, que es iterativo e incremental y evalúa riesgos en cada iteración.
3) El modelo incremental, que entrega software operacional en incrementos para obtener comentarios del cliente.
4) El proceso unificado, que es iterativo, incremental y dirigido por casos de uso y arqu
El documento describe los conceptos clave de modelado, análisis, diseño y documentación de software. Explica que el modelado permite combinar problemas empíricos, formales e ingeniería. Describe técnicas de modelado como modelado de empresa y de requerimientos. Explica que el análisis provee un marco para modelar el sistema y analizar requerimientos. El diseño traduce los requerimientos en una representación del software mediante abstracción, modularidad y otros conceptos. La documentación del diseño incluye su alcance, referencias
Este documento presenta conceptos básicos de ingeniería de software. Explica que el software es el producto que diseñan los ingenieros de software y que puede aplicarse en cualquier situación donde se hayan definido previamente un conjunto de pasos procedimentales. Además, describe los principales componentes de un producto de software, las categorías de software, las características de calidad deseables y los conceptos clave de ingeniería de software como procesos, actividades, métodos y modelos de ciclo de vida.
Este documento describe varios modelos de desarrollo de software, incluyendo el modelo en cascada, el modelo en espiral, el modelo de prototipos y el modelo evolutivo. El modelo en cascada sigue un enfoque lineal y secuencial dividido en fases, mientras que el modelo en espiral es un proceso evolutivo iterativo que incorpora prototipos y evaluación de riesgos. El modelo de prototipos se centra en la construcción rápida de prototipos para obtener retroalimentación del cliente, y el modelo evolutivo mejora continuamente el software a través
El documento describe diferentes conceptos relacionados con la ingeniería de software. Explica las diferencias entre programa, software y aplicación, define ingeniería de software e ingeniería, y describe las principales etapas y modelos de desarrollo de software, como el modelo cascada, en espiral, iterativo e incremental. También compara ingeniería de software con el simple desarrollo de software y menciona marcos como RUP y el Proceso Unificado.
Este documento describe varios modelos de procesos para la ingeniería de software, incluyendo modelos lineales, evolutivos e híbridos. Todos los modelos buscan resolver problemas a través de etapas iterativas de definición de problemas, desarrollo técnico e integración de soluciones. El modelo a elegir depende del proyecto, aplicación, métodos y herramientas disponibles.
El documento habla sobre los conceptos y principios del diseño de software. Explica que el diseño es la primera actividad y debe traducir los requisitos en una representación del software de manera iterativa. También cubre temas como la abstracción, refinamiento, modularidad, arquitectura de software y jerarquía de control como principios importantes del diseño.
El documento describe el modelo en cascada para el desarrollo de software, el cual consiste en una secuencia lineal de fases de ingeniería y análisis del sistema, análisis de requisitos, diseño, codificación, prueba y mantenimiento. Cada fase produce documentación como insumo para la siguiente fase.
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de actividades, acciones, tareas, flujo de trabajo, fundamentos y productos de trabajo que se requieren para software de alta calidad.
Sesión 3: Modelos prescriptivos de proceso de softwareLuis Fernández
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de actividades, acciones, tareas, flujo de trabajo, fundamentos y productos de trabajo que se requieren para software de alta calidad.
1. El modelo en V es conocido como el modelo de cuatro niveles y representa el proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios. 2. Las cuatro etapas son análisis de requisitos y especificación, análisis funcional, arquitectura del sistema e implementación. 3. La parte izquierda de la V representa la definición de especificaciones mientras que la parte derecha representa la verificación contra las especificaciones definidas.
Este documento describe y compara varios modelos prescriptivos de proceso de ingeniería de software, incluyendo el modelo en cascada, modelos incrementales, modelo DRA, modelos evolutivos como la construcción de prototipos y el modelo en espiral, modelos concurrentes y modelos especializados. También explica el proceso unificado, el cual es un ciclo de vida incremental e iterativo centrado en casos de uso y arquitectura.
El documento describe el ciclo de vida de los sistemas y el desarrollo de sistemas desde el enfoque de la ingeniería de la información. Explica las diferentes etapas del ciclo de vida de los sistemas como el análisis, diseño, implementación, pruebas y mantenimiento. También describe la pirámide de la ingeniería de la información que incluye el planeamiento estratégico, análisis del área de negocio, proyecto de sistemas de información y construcción del sistema de información.
El documento describe el ciclo de vida de los sistemas y el desarrollo de sistemas desde el enfoque de la ingeniería de la información. Explica las diferentes etapas del ciclo de vida de los sistemas como el análisis, diseño, implementación, pruebas y mantenimiento. También describe la pirámide de la ingeniería de la información que incluye el planeamiento estratégico, análisis del área de negocio, proyecto de sistemas de información y construcción del sistema de información.
Este documento presenta varios modelos de desarrollo de software, incluyendo el modelo cascada, incremental, espiral, de componentes y ágiles como Scrum y Desarrollo Adaptativo de Software. Describe las fases, actividades, roles y características clave de cada modelo. El objetivo es proporcionar una introducción a los principales enfoques para el desarrollo de software.
Este documento describe los fundamentos básicos para el diseño de software. Explica que el diseño de software permite a los ingenieros crear modelos de la solución y evaluar cuál cumple mejor con los requisitos. También destaca la importancia del diseño, ya que un mal diseño puede causar problemas a lo largo del proyecto. Finalmente, presenta diferentes estrategias, técnicas y principios clave para el diseño de software, como la modularidad, documentación, uso de patrones de diseño y calidad.
El documento describe las técnicas de cuarta generación para el desarrollo de software, las cuales permiten especificar características del software a alto nivel para luego generar automáticamente el código fuente. Se mencionan herramientas como lenguajes de consulta a bases de datos y generación de informes y pantallas. También se discuten ventajas como la reducción en tiempo de desarrollo y desventajas como código poco eficiente y mantenimiento cuestionable.
Este documento presenta una unidad sobre el análisis de proyectos de software. Explica conceptos clave como el modelado, análisis, diseño y documentación de software, así como su construcción, codificación, pruebas y evaluación. Se describen técnicas como el modelado, análisis de requisitos, diseño modular y por niveles de abstracción, y pruebas de software. El documento provee una guía completa para el desarrollo de proyectos de software.
El documento habla sobre el diseño estructurado de software. Explica que el diseño estructurado se enfoca en desarrollar especificaciones del software mediante descripciones gráficas, con el objetivo de crear programas formados por módulos independientes desde el punto de vista funcional. Luego describe cuatro pasos claves del diseño estructurado: diseño de datos, diseño de interfaz, diseño procedimental y diseño arquitectónico. Finalmente, enlista algunas características y principios importantes del diseño de software.
Este documento describe varios modelos de procesos de desarrollo de software, incluyendo:
1) El modelo en cascada, que sigue un enfoque secuencial de análisis, diseño, codificación, prueba y mantenimiento.
2) El modelo en espiral, que es iterativo e incremental y evalúa riesgos en cada iteración.
3) El modelo incremental, que entrega software operacional en incrementos para obtener comentarios del cliente.
4) El proceso unificado, que es iterativo, incremental y dirigido por casos de uso y arqu
El documento describe los conceptos clave de modelado, análisis, diseño y documentación de software. Explica que el modelado permite combinar problemas empíricos, formales e ingeniería. Describe técnicas de modelado como modelado de empresa y de requerimientos. Explica que el análisis provee un marco para modelar el sistema y analizar requerimientos. El diseño traduce los requerimientos en una representación del software mediante abstracción, modularidad y otros conceptos. La documentación del diseño incluye su alcance, referencias
Este documento presenta conceptos básicos de ingeniería de software. Explica que el software es el producto que diseñan los ingenieros de software y que puede aplicarse en cualquier situación donde se hayan definido previamente un conjunto de pasos procedimentales. Además, describe los principales componentes de un producto de software, las categorías de software, las características de calidad deseables y los conceptos clave de ingeniería de software como procesos, actividades, métodos y modelos de ciclo de vida.
Este documento describe varios modelos de desarrollo de software, incluyendo el modelo en cascada, el modelo en espiral, el modelo de prototipos y el modelo evolutivo. El modelo en cascada sigue un enfoque lineal y secuencial dividido en fases, mientras que el modelo en espiral es un proceso evolutivo iterativo que incorpora prototipos y evaluación de riesgos. El modelo de prototipos se centra en la construcción rápida de prototipos para obtener retroalimentación del cliente, y el modelo evolutivo mejora continuamente el software a través
El documento describe diferentes conceptos relacionados con la ingeniería de software. Explica las diferencias entre programa, software y aplicación, define ingeniería de software e ingeniería, y describe las principales etapas y modelos de desarrollo de software, como el modelo cascada, en espiral, iterativo e incremental. También compara ingeniería de software con el simple desarrollo de software y menciona marcos como RUP y el Proceso Unificado.
Este documento describe varios modelos de procesos para la ingeniería de software, incluyendo modelos lineales, evolutivos e híbridos. Todos los modelos buscan resolver problemas a través de etapas iterativas de definición de problemas, desarrollo técnico e integración de soluciones. El modelo a elegir depende del proyecto, aplicación, métodos y herramientas disponibles.
El documento habla sobre los conceptos y principios del diseño de software. Explica que el diseño es la primera actividad y debe traducir los requisitos en una representación del software de manera iterativa. También cubre temas como la abstracción, refinamiento, modularidad, arquitectura de software y jerarquía de control como principios importantes del diseño.
El documento describe el modelo en cascada para el desarrollo de software, el cual consiste en una secuencia lineal de fases de ingeniería y análisis del sistema, análisis de requisitos, diseño, codificación, prueba y mantenimiento. Cada fase produce documentación como insumo para la siguiente fase.
Similar a clase_unidad_i__FUNDA_DISE_SOF_PARTE_I.ppt (20)
Buscador de Eventos y Fiestas en España - Buscafiestaholabuscafiesta
Buscafiesta.es es el buscador líder en España para fiestas y eventos, diseñado para satisfacer las necesidades tanto de organizadores como de asistentes. Este innovador software ofrece una plataforma integral que permite a los organizadores de eventos añadir, gestionar y promocionar sus actividades de manera totalmente autónoma, facilitando la visibilidad y escalabilidad de sus eventos.
Buscafiesta.es no solo conecta a los organizadores con su público objetivo, sino que también ofrece herramientas de marketing y análisis que ayudan a maximizar el impacto de cada evento. Ya sea para una fiesta local, un concierto multitudinario o un evento corporativo, Buscafiesta.es es la solución definitiva para hacer de cada evento un éxito rotundo.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
1. 1
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Diseño
El diseño es una
representación de
algo que se desea
construir
Software
Es el conjunto de los programas de
cómputo, procedimientos,
reglas, documentación y datos
asociados que forman parte de las
operaciones de un sistema de
computación
Diseño DE SOFWARE
•“Búsqueda de soluciones que se ajusten a los requisitos
o requerimientos del usuario”
•“Proceso “repetitivo” mediante el cual los requisitos se
traducen en un “plano” para construir el software”
•“Proceso de definir la arquitectura, componentes,
interfaces y otras características de un sistema”
2. 2
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Diseño es un proceso repetitivo
“El diseño no es escribir código y
escribir código no es diseñar”
3. 3
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Contexto del diseño de software
•El diseño es técnicamente la parte central de la ingeniería
del software
•Durante el diseño se desarrollan, revisan y se documentan
los refinamientos progresivos de las estructuras de
datos, de la estructura del programa y de los detalles
procedimentales.
•El diseño da como resultado representaciones cuya
calidad puede ser evaluada.
•Establece una plataforma para la construcción
(generación de código y prueba).
4. 4
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Proceso del diseño de software
•Diseño de Datos: MODELO ER y DD
•Diseño arquitectónico: Describe cómo se
descompone y como están organizados los
componentes en el software A TRAVES DE
MODELOS
•Diseño de Interfaz: Comunicación del software
consigo mismo, con los sistemas que operan
con él y con los operadores que lo emplean.
•Diseño Detallado o Procedimental: Describe el
comportamiento específico de los componentes
5. 5
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
IMPORTANCIA DEL DISEÑO DE
SOFTWARE
“El diseño traduce con precisión los requisitos o requerimientos
del cliente en un producto o sistema acabado”
“El diseño de software es la base para las fases posteriores
6. 6
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
METODOS PARA LA ACTIVIDAD
DE DISEÑO DE SOFTWARE
los métodos de diseño tienen varias características
comunes:
1) Mecanismo para la traducción de requisitos
en una representación de diseño.
2) Notación para representar los componentes
funcionales y sus interfaces.
3) Heurísticas o creatividad para el refinamiento
y la partición o subdivisión
7. 7
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
METODOS PARA LA ACTIVIDAD
DE DISEÑO DE SOFTWARE
los métodos de diseño tienen varias características
comunes:
Sus actividades son:
• DISEÑO DE DATOS
• DISEÑO ARQUITECTONICO
• DISEÑO DE INTERFAZ
• DISEÑO PROCEDIMENTAL
8. 8
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIAS DE DISEÑO DE
SOFTWARE
Declaración de alto nivel sobre el enfoque del
Sistema de Información a desarrollar QUE
SIGUEN LOS METODOS O METODOLOGIAS
Incluye la funcionalidad del sistema, el
hardware y la plataforma de software del
sistema, y el método o metodología para su
adquisición o desarrollo.
9. 9
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño orientado a
funciones o estructural
Es la organización de los módulos
(procedimientos y funciones)
Para conseguir la funcionalidad descrita en
el análisis.
Se considera dentro de la categoría de las
estrategias orientadas por la función.
10. 10
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
•Diagrama de estructura.
•Lenguaje de especificación de módulos
• Especificación de las interfaces de
módulos
• Especificación por pseudocódigo.
11. 11
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
DIAGRAMA DE ESTRUCTURA
12. 12
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Especificación de módulos por interfaces
Modulo Seleccionarsitiodepasajeros
Propósito Elegir para cada cliente el sitio que cumpla los requisitos de su clase y
preferencias
Usa Preferencias,sitio.
Devuelve Sitio_seleccionado;Preferencias_disponibles.
Detalle
Funcionales
Buscarentrelossitiosdisponiblesaquellosquecumplanlascondicionesenel
siguienteorden:clase,fumador yfila.
Estructura
dedatos
Preferencias_sitio
Clase_asignada*Primera,Negocios,TuristaFumador*S/N
Fila*Pasillo,Medio,Ventana
13. 13
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Especificación de módulos por pseudocódigo
Módulo. Seleccionar sitios de pasajeros.
Call ObtenerPrimerSitio (Sitio,NoHaySitios)
While Not NoHaySitios
Comprobar Sitio con Preferencias_sitio
Si es válido Añadir a la Lista_sitios
Call ObtenerSiguienteSitio(Sitio,NoHaySitios)
EndWhile
Mostrar la lista al usuario para que seleccione el
número de sitio.
Accept Numero_sitio
Sitio_seleccionado=Lista_sitios(Numero_sitio)
Return Sitio_seleccionado
14. 14
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
FLUJO DE TRANSFORMACION
MODIFICACION CALCULOS ELIMINACION
15. 15
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
FLUJO DE TRANSACCIONES
PAGOS VENTAS DEPOSITOS
16. 16
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
ANSLISIS DE TRANSFORMACION
Paso 1. Revisión del modelo fundamental del sistema O DE REQUERIMIENTOS DFD
Paso 2. Revisión y refinamiento de los DFD del software
Paso 3. Determinar si el DFD tiene características de transformación o de transacción
Paso 4. Aislar el centro de transformación especificando los límites de los flujos entrantes y
salientes
Paso 5. Realización del Primer Nivel de Factorización
Paso 6. Ejecución del Segundo Nivel de Factorización
Paso 7. Refinar la estructura inicial del programa utilizando medidas y heurísticas de diseño
17. 17
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
ANALISIS DE TRANSFORMACION
Paso 5. Realización del Primer Nivel de
Factorización
18. 18
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
ANALISIS DE TRANSFORMACION
Paso 6. Ejecución del Segundo Nivel de
Factorización
19. 19
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
ANALISIS DE TRANSFORMACION
ANALISIS DE TRANSACCIONES
Paso 1. Revisión del modelo fundamental del sistema O DE REQUERIMIENTOS DFD
Paso 2. Revisión y refinamiento de los DFD del software
Paso 3. Determinar si el DFD tiene características de transformación o de transacción
Paso 4. Aislar el centro de transformación especificando los límites de los flujos
entrantes y salientes
Paso 5. Realización del Primer Nivel de Factorización
Paso 6. Ejecución del Segundo Nivel de Factorización
Paso 7. Refinar la estructura inicial del programa utilizando medidas y heurísticas de
diseño
Paso 4. Identificar el centro de transacción y las características del flujo de cada camino
de acción
Paso 5. Transformar el DFD en una estructura de software adecuada al procesamiento de
transacciones
Paso 6. Factorizar y refinar la estructura de transacciones y la estructura de cada camino
de acción
20. 20
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
HERRAMIENTAS DE REPRESENTACION
Organización de las actividades de diseño
Paso 5. Transformar el DFD en una estructura de software
adecuada al procesamiento de transacciones
21. 21
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
Heurísticas o creatividad de diseño estructurado
1. Evaluar la estructura de programa preliminar
para reducir el acoplamiento y reducir la cohesión
Expande un módulo cuando en dos o más módulos
existe un componente de procesamiento común
que puede redefinirse como un módulo cohesivo
aparte.
Para reducir el acoplamiento, se pueden juntar
varios módulos para evitar las interfaces
complejas y reducir el número de referencias a
datos globales.
22. 22
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
Heurísticas o creatividad de diseño estructurado
2. Intentar minimizar las estructuras con alto
grado de salida. Fomentar un alto grado de
entrada conforme aumente la profundidad
La estructura de control no debe ser demasiado
ancha, sino que se opta por estructuras con varias
capas de control y gran utilización de los módulos
inferior
23. 23
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
Heurísticas o creatividad de diseño estructurado
3. Mantener el efecto de un módulo dentro del
ámbito de control de ese módulo
4. Evaluar las interfaces de los módulos para
reducir la complejidad y la redundancia y mejorar
la consistencia
La complejidad en las interfaces es una causa
principal de los errores del software.
Las interfaces deben diseñarse para que sólo se
pase la información necesaria y deben ser
consistentes con la función del módulo.
24. 24
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
Heurísticas o creatividad de diseño estructurado
5. Definir módulos cuyas funciones sean
predecibles
Los módulos deben tener una apariencia de caja
negra, ocultando los detalles de procesamiento.
6. Fomentar módulos con entrada única y salida
única
El software es más fácil de comprender, y por tanto,
es más fácil de mantener, si a los módulos se entra
por el principio y se sale por el final.
25. 25
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
Estrategia de diseño estructural
Medidas de calidad del diseño estructural
La cohesión y el acoplamiento son dos medidas
que permiten evaluar la calidad de la partición de los
módulos y, por lo tanto, ayudan a refinar el diseño.
Un buen diseño se caracteriza por
Acoplamiento bajo: Poca interdependencia entre
módulos
Cohesión alta: significando que los elementos que
componen un módulo están muy relacionados.
26. 26
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO DOO
Diseñar sistema usando objetos y clases de
objetos
El DOO produce un diseño que interconecta objetos
de datos y operaciones de procesamiento para esos
objetos, de forma que se modulariza la información
y el procesamiento, en lugar de aislar el
procesamiento.
27. 27
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO
Características del DOO
• Los objetos son abstracciones del mundo real o
entidades del sistemas y manejarse ellos
mismos
• Los objetos son independientes y encapsulan
estado y representan información
• La funcionalidad del sistema se expresa en
términos de servicios de objetos
• Las áreas de datos compartidos se eliminan.
• Los objetos se comunican a través de paso de
mensajes
• Los objetos pueden se distribuidos y pueden se
ejecutados secuencialmente o en paralelo
28. 28
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO
Ventajas del DOO
Mantenimiento más fácil. Los objetos se pueden
entender como entidades independientes
• Los objetos son componentes apropiados
reusables
• Para algunos sistemas, puede haber una obvia
correspondencia entre entidades del mundo real
y objetos del sistema
29. 29
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO
Desarrollo orientado a objetos
• El análisis, diseño y programación orientados a
objetos están relacionados pero distintos
• El AOO es concerniente con el desarrollo de un
modelo de objetos del dominio de la aplicación
• El DOO es concerniente con el desarrollo de un
sistema orientado a objetos del sistema para
implementar requerimientos
• La POO es concerniente con la implementación de
un DOO usando un lenguaje OO tal como java o
C++.
30. 30
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO
PASOS DEL DISEÑO orientado a objetos
El DOO tiene que comenzar con una descripción en
lenguaje natural de la estrategia de solución (DER y
DOCUMENTACION DE CASOS DE USOS) , y a
partir de esta descripción, el diseñador identifica las
clases, objetos y operaciones
31. 31
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A OBJETO
PASOS DEL DISEÑO orientado a objetos
1) Definición del problema y su solución (DER-CU
DOCUMENTADOS)
2) Desarrollo informal de la forma de procesamiento para
la realización del software (Diagrama de Clases con
SUBSISTEMAS y MODELO E-R)
3) Formalización de la forma de procesamiento.
(Diagramas de componentes y de implementación)
a) Identificar los objetos y sus atributos
b) Identificar las operaciones de los objetos
c) Establecer las interfaces que muestren las
relaciones entre los objetos y las operaciones
d) Crear un diseño detallado que proporcione una
descripción de la implementación de los objetos
32. 32
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Esta estrategia se fundamenta en la
programación orientada a aspectos (AOP
Aspect Oriented Programming).
La cual es una metodología de programación
que aspira a soportar la separación de
competencias en aspectos.
33. 33
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
QUE SON LOS ASPECTOS
• No suelen ser unidades de descomposición
funcional del sistema.
• Son propiedades que afectan al
rendimiento o la semántica de los
componentes.
•Algunos ejemplos de aspectos son:
•Patrones de acceso a memoria.
•Sincronización de procesos
concurrentes.
•Manejo de errores.
•Encriptamiento.
34. 34
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Enfoque orientado a aspectos
• Define un mecanismo que ayuda a resolver
problemas de codificación en los
requerimientos.
• Es un código disperso (scattered) y
diseminado (tangled), que no se resuelven
fácilmente usando el enfoque orientado a
objetos.
• Este mecanismo se enfoca principalmente
en la separación de intereses (separation
of concerns) de un sistema para obtener una
mejor modularización.
35. 35
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Separación de intereses
36. 36
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Estructura de un programa orientado a aspectos
37. 37
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Que es la programación orientada a aspectos (AOP)
• La programación orientada a aspectos AOP, es una
nueva evolución en la línea de la tecnología para la
separación de las concerns (propiedades o áreas de
interés),
• Es una tecnología que nos permite al diseño y a la
codificación ser estructuradas para reflejar la manera
en que los desarrolladores quieren pensar acerca del
Sistema.
• La AOP está construida sobre tecnología existente, y
provee mecanismos adicionales que hacen posible el
afectar la implementación de un sistema en una
manera “crosscuting” (tomar un atajo).
38. 38
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Que es la programación orientada a aspectos (AOP)
• En AOP, un sólo aspecto puede contribuir a la
implementación de un número de
procedimientos, módulos, u objetos.
• La contribución puede ser homogénea, por
ejemplo al proveer un comportamiento de
registro que todos los procedimientos deben
seguir en una interfaz dada.
• Puede ser heterogéneo, por ejemplo,
implementando los dos lados de un protocolo
entre dos clases diferentes.
39. 39
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Que es la programación orientada a aspectos (AOP)
Comparación programa tradicional vs AOP
40. 40
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Que es la programación orientada a aspectos (AOP)
Un programa orientado a aspectos necesitamos
definir los siguientes elementos
• Lenguaje para definir la funcionalidad básica.
como C++ o Java.
• Uno o varios lenguajes de aspectos. El lenguaje
de aspectos define la forma de los aspectos – por
ejemplo, los aspectos del AspectJ ((AspectJ es una
extensión de Java). se programan de forma muy
parecida a las clases.
• Un tejedor de aspectos. El tejedor se encargará de
combinar los lenguajes. En tiempo de ejecución, o
hacerse en tiempo de compilación.
41. 41
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Que es la programación orientada a aspectos (AOP)
Implementación de AOP
42. 42
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Tejiendo Clases y aspectos
• Los aspectos describen apéndices al
comportamiento de los objetos.
• Hacen referencia a las clases de los objetos y
definen en qué punto se han de colocar estos
apéndices.
• Los join points O PUNTOS DE UNION pueden ser
tanto métodos como asignaciones de variables.
• Los join points o puntos de unión son una clase
especial de interfaz entre los aspectos y los
módulos del lenguaje de componentes.
• Son los lugares del código en los que éste se
puede aumentar con comportamientos
adicionales.(Aspectos)
43. 43
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Tejiendo Clases y aspectos
El entrelazado estático implica modificar el código
fuente de una clase insertando sentencias en
estos puntos de enlace.
Es decir, que el código del aspecto se introduce
en el de la clase.
Un ejemplo de este tipo de tejedor es el Tejedor de
Aspectos AspectJ (AspectJ es una extensión de
Java).
Entrelazado dinámico es que los aspectos existan
de forma explícita tanto en tiempo de compilación
como en tiempo de ejecución
44. 44
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Tejiendo Clases y aspectos
45. 45
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Los aspectos en el diseño
En las primeras fases, la orientación a aspectos se
centró principalmente en el nivel de
implementación y codificación, pero en los últimos
tiempos cada vez se elevan más voces y surgen más
trabajos para llevar la separación de
funcionalidades a nivel de diseño.
Proponen utilizar UML como lenguaje de modelado,
ampliando su semántica con los mecanismos
que el propio lenguaje unificado tiene para
representar el diseño funcional de los objetos
separado del diseño no funcional del mismo
46. 46
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Los aspectos en el diseño
Las ventajas que tiene el capturar los aspectos ya
desde la fase de diseño son claras:
• Facilita la creación de documentación y el
aprendizaje.
•Facilita la reutilización de los aspectos.
47. 47
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Los aspectos en el diseño
Añadir nuevos elementos al metamodelo UML para
el aspecto y la clase “tejida”, y se reutilizar un
elemento ya existente para la relación clase-
aspecto:
•Aspecto.
•Relación aspecto-clase.
•Clase tejida.
48. 48
Unidad I Unidad Curricular Ingeniería de Software II; Modulo: FUNDAMENTOS DE DISEÑO DE SOFTWARE
Profesor Alfonso Galea Bracho
ESTRATEGIA DE DISEÑO ORIENTADA A ASPECTOS
Los aspectos en el diseño
UML y DOA