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

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Red Social: “Un millón de Amigos”.
Ingeniería del Software
Modelo de Análisis Centro ISYS Escuela de Computación
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Ingeniería de Software Orientado a Objetos
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Prof. Joel Moreno Molina
La Rematada Sitio de remates “El Porton”. Introducción El objetivo es desarrollar un sitio web de remates de productos para promocionar la compra de yerba.
Canchas al Móvil Proyecto Integrador 1 Carolina Garcés.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Arquitectura de Software. Contenido 1. Introducción 2. Características de la arquitectura 3. Los casos de uso y la arquitectura 4. Descripción de la arquitectura.
1 Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
BASE DE DATOS Reingeniería de Procesos. Modelo de BPR Definición del Negocio Refinamiento e instanciación Evaluación de procesos Especificación y diseño.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
La Ingeniería de Sistemas
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
El Lenguaje de Modelación Unificado
Programación Avanzada
11 de enero PFC 2016 Proyecto Final de Carrera – 2015 Semestre 2 – Oscar Escudero Sanchez Andorra la Vella - Andorra Copyright © 2016 Adrián Chavero Ramos.
Ingeniería de requisitos y
Flujo de trabajo: Requerimientos
Ingeniería de Software
BASE DE DATOS INTRODUCCION.
SWEBOK.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Formulación y planeación para la Ingeniería Web
Modelado de diseño para aplicaciones web. Proceso de Diseño Diseño y Calidad del software Calidad de la aplicación web Facilidad de uso FuncionalidadConfiabilidadEficiencia.
Ingeniería en Sistemas de Información
Ingeniería de Sistemas Requerimientos
Ingeniería de Software Somerville
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
Fundamentos de Ingeniería de Software MODELO DE CASOS DE USO
Metodología OOHDM Jairo Pinto Ing. sistemas.
MDA (Model Driven Architecture)
Modelo Vista Controlador (MVC)
Principales desafíos: adaptabilidad y agilidad empresarial
ARQUITECTURA DE APLICACIONES WEB.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Comprensión y obtención de los requerimientos
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Planeamiento: un plan incremental para que la ingeniería web produzca resultados. La ingeniería web es un área que abarca procesos, técnicas y modelos.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
INTRODUCCIÓN A UML Y AL ADOO 1 Diagramas en UML ◦Diagramas de casos de uso ◦Diagramas de clases y objetos ◦Diagramas de secuencia ◦Diagramas de colaboración.
Elemento de diseño Diseño de interfaces. ¿Que es un diseño en informática? O La palabra diseño se usa para referirse como el proceso de programar, proyectar,
CC51A – Ingeniería de Software Documento de Diseño: Arquitectónico y Detallado Sergio Ochoa D.
DISEÑO DE SOFTWARE 1ª. Parte
Se hizo popular en la década de 1980 y todavía es utilizado por muchos. Consiste en interpretar el concepto del sistema (o situaciones del mundo real)
Arquitectura de Software
Niveles de abstracción de una BD
Introducción a las bases de datos (I)
1 Taller de Proyecto Tema 1. Metodología de desarrollo de software Rational Unified Process –RUP [1,2] Prof. Nora La Serna © Prof. Nora La Serna.
Spring Framework.
ARQUITECTURA DEL PROYECTO. La estructura modelo vista controlador se muestra en la siguiente ilustración : ESTRUCTURA DE PROYECTOS DE MVC.
PARÁMETROS PARA LA PRESENTACIÓN DE PROYECTOS EN LA ESCUELA DE TECNOLOGIAS E INNOVACION. ING. Hugo de Jesús Peláez Giraldo Líder Escuela de Tecnologías.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de sistemas
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
SISTEMA OPERATIVO Un sistema operativo es un programa o conjunto de programas de un sistema informático que gestiona los recursos de Hardware y provee.
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

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

¿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

¿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

¿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

¿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

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

¿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

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

¿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

¿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

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

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

¿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

¿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

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

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)

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