La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.

Presentaciones similares


Presentación del tema: "Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009."— Transcripción de la presentación:

1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009

2 ¿Qué es Diseño de Software? Diseño es el proceso creativo de transformar un problema en una solución. La descripción de esa solución es, también, denominada diseño Pfleeger, 1998 El diseño de software es el proceso de concebir (modelar) y especificar los detalles de como el sistema cumplirá las especificaciones de requerimientos establecidas en el análisis En Ingeniería del Software, el diseño es definir como se transformará el que en el como

3 ¿Qué es Diseño de Software? Diseño = Solución Diseño = Proceso Creativo No hay UNA única solución No hay una solución “mejor” No existe una solución completamente óptima Sólo hay soluciones buenas, mediocres, malas... La evaluación y elección depende del cliente, de los requerimientos, del criterio del diseñador, del contexto, etcétera

4 ¿Qué es Diseño de Software? Diseño de la Interfaz H/M Diseño de los modelos de datos Diseño de las Interfaces con otros Sistemas Diseño de la Arquitectura del Software ¿cómo? Requerimientos del Sistema (¿qué?) Diseño de Procesos / Interacción, etcétera El objetivo del diseño es “implementar” los requerimientos del usuario

5 ¿Qué es Diseño de Software? Diseño de la Interfaz H/M Diseño de los modelos de datos Diseño de la Arquitectura del Software (General) Diseño de las Interfaces con otros Sistemas El diseño se hace en función y para cada caso de uso......por medio de un “marco” conceptual preestablecido

6 Modelo 4+1 de Krutchen Introducido por Philippe Kruchten en 1995 Es un enfoque que permite ver distintas partes (facetas) de la arquitectura de un sistema por separado Usando UML, el sistema también puede ser diseñado en términos de vistas Vista Lógica o Estructural Vista de Implementación Vista de Despliegue Vista de Procesos Vista de Usuarios Una vista captura aspectos del sistema desde una o más perspectivas dadas

7 ¿Diseño de Software Conceptual / Técnico? Diseño Diseño Técnico (Interno) Diseño Conceptual (Externo) Orientado al Cliente / Alto Orientado a los “Constructores” (Programadores) del sistema Mayor nivel de Abstracción Menor nivel de Abstracción

8 ¿Diseño de Software Conceptual / Técnico? Conceptua l Técnic o

9 ¿Diseño de Software Conceptual (Externo)? Definir la estructura general del sistema programado Describir las funciones que deberá ejecutar el sistema bajo el ambiente operativo establecido en los requerimientos ¿El “qué”? ¿Casos de Uso? Resulta que desde cierto punto de vista, los casos de uso también forman parte el diseño

10 ¿Diseño de Software Conceptual (Externo)? Diseñar la Interfaz Usuario / Sistema, incluyendo la entrada de datos y salida de información Establecer los atributos de calidad de diseño que deberá satisfacer el sistema Describir las fuentes de los datos y sus procesos de transformación

11 ¿Diseño de Software Técnico (Interno)? Diseño de la Arquitectura: Usando Estilos Arquitectónicos, Patrones de Diseño, Frameworks (marcos)

12 ¿Diseño de Software Técnico (Interno)? Diseño de Archivos o Bases de Datos

13 ¿Arquitectura? La Arquitectura de un sistema define la división y estructura de un sistema en subsistemas y establece un marco de control y comunicación entre los distintos subsistemas

14 ¿Diseño de Software Técnico (Interno)? Estructura y componentes* del sistema desde el punto de vista del programador Jerarquía y funciones de cada componente* de software Flujos de datos entre los componentes* Estructuras de datos empleadas por cada componente* * También se puede ver desde el punto de vista de Clases / Objetos

15 Arquitectura (Ejemplo) Arquitectura a 3 capas Capa de Presentación (Interfaz Gráfica de Usuario) (HTML, Swing, Qt, GTK, etcétera) Capa de Proceso / Negocio (Lógica / Reglas de Negocio) Capa de Persistencia BD

16 Arquitectura (Ejemplo con más detalle) BD Motor de Workflow (CledaFlow, CledaScheduler y CledaBase) Hibernate JDBC Documentos MVC CledaMVC (Struts1) o Echo2 Modelo de Dominio Servlets Navegador WEB CledaTags CledaCore Aplicación Arquitectura a 3 capas bien definida (Cleda)

17 Diseño Arquitectónico Arquitectura del Software Bibliotecas / Componentes Patrones de Diseño Clases / Funciones Frameworks (Marcos) Estilos Arquitectónicos En general, estos elementos se verán mas adelante en clases


Descargar ppt "Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009."

Presentaciones similares


Anuncios Google