A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

Documentos relacionados
1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

Capítulo 16. Diagrama de Clases UML

Modelo alternativo de análisis: Modelo de Jacobson

Lenguaje de Modelamiento Unificado.

Capacitación adquirida por el alumno al finalizar este modulo

Diagramas de interacción

Objetivo Las personas que realicen el curso aprenderán a:

TEMA 4. PROCESO UNIFICADO

JAVA EE 5. Arquitectura, conceptos y ejemplos.

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

7.1 Arquitectura de clases

[CASI v.0109] Pág. 1

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema


Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Panorámica de la asignatura

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Desarrollo de Software con

Ingeniería del Software de Gestión II 2 de febrero de 2005 Pág: 1/8. Apellidos: Nombre: Núm.:

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Curso Taller de Arquitectura de Software usando UML

APLICACIONES EMPRESARIALES CON JEE. Profesores: Andrés Farías

Documento de Arquitectura de Software IEEE

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Master Executive en Programación y Desarrollo de Aplicaciones JAVA

Analista Programador Java: Business Apps Expert

DISEÑO DE COMPONENTES DE SOFTWARE *

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones


Introducción a la Orientación a Objetos

Analista Programador Java: Business Apps Expert

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Visual Studio 2010 Desarrollo de aplicaciones web con C# 4, Framework Entity 4, ASP.NET 4.0,...

VISIO: Herramienta CASE

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

6.8 La Arquitectura del Sistema. [Proceso]

EJ-DSI. Ejemplo - Diseño del Sistema de Información

UNIVERSIDAD DE PIURA

Análisis y Diseño Orientado a Objetos

Tema 2 Introducción a la Programación en C.

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Analista Programador Java: SE Standard Edition

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Resultado de Aprendizaje:

Índice.

Procesadores de Lenguajes II. Luis M a Montero de Espinosa Díaz Manuel Trinidad García. 17 de enero de 2013

Curso: Programación con JAVA SE Estándar Edition.

UML 2 Iniciación, ejemplos y ejercicios corregidos

Técnico Superior en Programación con Java SE Standard Edition

Conceptos de Programación Orientada a Objetos

Descripción del Curso

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

Capítulo III. Análisis y diseño.

Enterprise Architect y UML Básico

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

Desarrollo y servicios web Sesión 18

Ingeniería a de Software CC51A

Herramienta de Gestión Integral de E-Business

EL PROCESO DE DISEÑO DEL SOFTWARE

Empleo. CURSO FORMATIVO Desarrollo de portales WEB en Liferay. Coordinador Académico Antonio José Martín Sierra

CLA. Diagramas de clases en Métrica V3

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

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

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

Ingeniería de Software

Visual Basic.net Completo

Introducción Objetivos Objetivos del Curso

Capitulo III. Diseño del Sistema.

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

VISUAL BASIC.NET. NIVEL COMPLETO

IBM Software Demos Rational Software Delivery Platform - Cambios en el diseño y arquitectura de la aplicación

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Programa Superior ORACLE arquitecto Java EE

Curso de Spring Framework

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

Tema: Herramientas UML, Análisis y diseño UML

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

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

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Curso JAVA EE

Experto en Desarrollo de Componentes Web con Tecnología Servlet y JSP (Online)

Desarrollador Experto en Aplicaciones Empresariales con Java EE

Programador Java Página 1 de 7 Escuela de Sistemas y Tecnologías BIOS

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

INGENIERÍA DEL SOFTWARE

Notación UML para modelado Orientado a Objetos

ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS

Aplicación del Proceso Unificado de Desarrollo de SOFTWARE mediante el uso de la tecnología Java

Transcripción:

Tema 3: Diseño A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

Índice 1.- Introducción El rol del diseño en el CV Artefactos a conseguir durante el flujo de trabajo del diseño Decisiones de diseño tomadas en nuestro caso de estudio 2 - Diagramas de secuencia UML 3.- Realización ió de diagramas de secuencia 3.1.-Capas lógicas en el software: presentación, lógica del negocio y acceso a datos 3.2.- Patrones de responsabilidad GRASP 4 - Arquitecturas Software de varios niveles

Objetivo del diseño 1. Introducción Encontrar la forma (o solución) del sistema que cumpla con todos los requisitos it (funcionales y no funcionales) REQUISITOS: Do the right things / Haz lo correcto DISEÑO: Do the things right / Hazlo correcto Durante el diseño se escogen las herramientas: LP, SO, SGBD, GUI, concurrencia, distribución, componentes, Se divide el trabajo para que se pueda implementar en paralelo por equipos distintos Dfii Definir bien las interfaces, it que permita que los equipos se sincronicen i Usar una notación común Durante el diseño debe crearse una abstracción de la implementación del sistema: El diseño debe ser una buena entrada a la fase de implementación: que implementar sea directo a partir del diseño

1.1.-El rol del diseño en el CV Actividades Inicio Desarrollo Construcción Transición Captura Requisitos / Análisis R & A R & A R & A R & A Diseño D D D D Implementación I I I I Pruebas P P F P Despliegue D D D D Iteración 1 Iteración Iteración.... 2 3.... Iteración n Iteración n+1 Tiempo

1.1.- El rol del diseño en el CV Diseño Actividad principal en la fase de desarrollo, junto con el análisis El diseño ayuda a: Encontrar una arquitectura estable del sistema Crear un anteproyecto del modelo de implementación El modelo del diseño obtenido se debe mantener a lo largo de todo el proyecto Esto es, seguramente cambiará algo durante la implementación, y hay yq que ocuparse en actualizarlo

1.2.- Artefactos a conseguir durante el flujo de trabajo del diseño 1.- Realización/Diseño de los casos de uso Diagramas de secuencia 2.- Clases/Interfaces de diseño 3.- Descripción de la arquitectura

Realización/Diseño de los casos de uso Diagramas de secuencia Es una colaboración que indica cómo se realiza/ejecuta un CU, en términos de las clases de diseño y sus objetos Para cada CU habrá que añadir El diagrama de secuencia Flujo de eventos (en el diseño) Requisitos de implementación

Diagrama de Secuencia en UML : ACTOR 1: escribe d y solicita... obj1: IU_CU_X obj2: Gestor_X obj3: Clase_X 2: busca(d) 3: getatributoy()... return v...

Clases / Interfaces de diseño Una clase de diseño es una abstracción de una clase (o constructor similar existente) en el LP Operaciones, parámetros, atributos y tipos Visibilidad de atributos y operaciones Asociaciones y agregaciones (aunque luego se implementen añadiendo atributos) Generalizaciones (con la semántica del LP utilizado)

Clases / Interfaces de diseño Los métodos se especifican en lenguaje natural o en pseudocódigo Pueden especificarse requisitos de implementación ió de una clase Pueden ponerse estereotipos class module, form, user control en VB interface en Java

Descripción de la arquitectura Separación del sistema en N niveles/capas Definición de las relaciones entre niveles cliente, servidor y de datos Nivel Cliente Nivel Servidor Nivel de Datos Presentación Lógica del Negocio Cliente Web Contenedor Web Contenedor EJB Bases de Datos Presentación Cliente Applet Aplicación stand-alone Servlets, JSP Enterprise JavaBeans Java RMI objects Aplicaciones Legadas o Pre-Existentes Servicios, APIs, JNDI, RMI-IIOP Servicios, i APIs, JNDI, RMI-IIOP Servicios, i APIs, JNDI, RMI-IIOP

1.3.- Decisiones de diseño tomadas en nuestro caso de estudio El lenguaje de programación a usar es OO (Java) Las clases del modelo del dominio serán clases OO en el diagrama de clases del sistema (con sus atributos) Las asociaciones, generalizaciones, etc. las mantendremos en el diagrama de clases, siendo conscientes de que en la implementación se transformarán en atributos de clases, o en nuevas clases. Al ir construyendo los diagramas de secuencia, SE IRÁN AÑADIENDO nuevos métodos a las clases del diseño. Usaremos un sistema it de gestión de bases de dt datos OO (DB4o) Las clases/asociaciones/generalizaciones del modelo del dominio se transformarán directamente en clases con persistencia. Será necesario controlar la persistencia de cada uno de los objetos, tanto al consultar/recuperar como al insertar, modificar o borrar objetos.