DISEÑAR APLIC I ACIO I N O ES 1
|
|
|
- Magdalena Toledo Casado
- hace 7 años
- Vistas:
Transcripción
1 DISEÑAR APLICACIONES 1
2 El análisis y diseño de sistemas de software es un área amplia y compleja. En este capítulo se expone una pequeña introducción a la metodología de análisis y diseño. El estudio detallado de esta materia se llevará a cabo en asignaturas posteriores. 2
3 Este método trata de identificar las clases y los objetos y las asociaciones e interacciones entre ellos. Las clases de un sistema corresponden aproximadamente con sustantivosque aparecen en la descripción del mismo. Los métodos se corresponden con los verbos. 3
4 La idea es tomar tarjetas de cartulina y usar una tarjeta por cada clase. Cada tarjeta tiene tres áreas. Nombre de la clase Responsabilidades de la clase Colaboradores de esta clase 4
5 Los escenarios o casos de uso nos van a permitir comprender las interacciones de las clases en el sistema. Se van planteando los distintos escenarios y se anotan en las tarjetas CRC todo aquello que se va descubriendo sobre las responsabilidades de sus clases y sus interacciones. 5
6 El siguiente paso es convertir las tarjetas CRC en clases de java. Diseño del interfaz de clases: Nuestro primer paso será transformar lo escrito en la tarjeta CRC en el interfaz de la clase métodos stub. Diseño de la interfaz de usuario: En este momento debemos decidir lo que los usuarios verán en la pantalla y la manera en que interactuarán con nuestro sistema. 6
7 Después de identificar las clases y sus interfaces, y antes de comenzar con la implementación de los métodos de una clase se debe documentar la interfaz. La creación de buena documentación sobre nuestras aplicaciones es fundamental y se debe empezar a trabajar sobre ella desde las primeras fases del proyecto. 7
8 Armar un prototipo significa construir un sistema que funciona parcialmente en el que se simulan algunas de las funciones de la aplicación. Sirve para proporcionar mayor comprensión en una etapa temprana del proceso de desarrollo, de la manera en que funcionará el sistema. 8
9 Modelo de cascada: Las distintas fases del desarrollo del software ser realizan de forma secuencial: Análisis del problema Diseño del software Implementación de los componentes del software Prueba unitaria Prueba integral Entrega del sistema al cliente Desarrollo iterativo: normalmente el proceso descrito se realiza de forma iterativa consiguiendo en cada iteración una versión mas completa del producto final. 9
10 Un patrón de diseño es la descripción de un problema computacional común y la descripción de un pequeño conjunto de clases y su estructura de interacción que ayuda a resolver dicho problema. Es una forma de reutilización de nuestros esfuerzos de análisis y diseño. 10
11 La descripción de un patrón incluirá: Nombre Descripción del problema que resuelve el patrón. Descripción de la solución. Consecuencias del uso del patrón, incluyendo los resultados y lo que se deja de lado. 11
12 Trata el problema de agregar funcionalidad a un objeto que ya existe. El decorador es un objeto que encapsula a un objeto existente y que puede usarse en lugar del original (generalmente implementa la misma interfaz). El decorador pasa las llamadas a métodos al objeto encapsulado pero puede llevar a cabo acciones adicionales. 12
13 Para representar objetos de los que debe existir una única instancia. Este patrón asegura que se creará una única instancia del mismo. En java podemos hacer esto mediante el uso de un constructor privado. class Analizador { private static Analizador instancia = new Analizador(); public static Analizador getinstancia(){ return instancia } } private Analizador(){ } 13
14 Este patrón provee un interfaz para crear objetos pero deja que las subclases decidan la clase específica del objeto que se crea. El cliente espera una superclase o una interfaz del objeto actual y el método Fábrica provee las especializaciones. Los iteradores son ejemplos de esta técnica. public void procesar(collection<tipo> col){ Iterator<Tipo> it = col.iterator(); } 14
15 Permite llevar a cabo la separación modelovista. Este patrón establece una relación uno a muchos. Cuando un objeto cambia su estado podrían modificarse muchos objetos. Logra este efecto con un grado muy bajo de acoplamiento entre los observadores y el objeto observado. 15
Programación II Tipos Abstractos de Datos(TAD)
Programación II Tipos Abstractos de Datos(TAD) Definición Un Tipo Abstracto de Datos es un conjunto de valores y de operaciones definidos mediante una especificación independiente de cualquier representación.
PARTE TEÓRICA - TEST [2,5 PUNTOS]:
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 71901072 PROGRAMACIÓN ORIENTADA A OBJETOS (GRADO EN INGENIERÍA INFORMÁTICA / TECNOLOGÍAS DE LA INFORMACIÓN)
Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Conceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Introducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software
Introducción y La Vida del Ciclo de Desarrollo del Software Usualmente las tareas realizadas como parte del desarrollo de un software son modeladas durante el Ciclo de Vida de Desarrollo del Software.
Curso de Java orientado a Android Parte 2
Curso de Java orientado a Android Parte 2 Introducción Java es un lenguaje de programación orientado a objetos (OOP). En este post cubriremos las características y principios básicos de la programación
Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática
Programación Orientada a Objetos Prof. Angela Di Serio Universidad Simón Bolívar Especialización en Telemática Agenda Clase 2 Qué es Orientado a Objetos? Conceptos: objeto, clase, instancias, mensajes
INSTITUTO TECNOLOGICO DE VILLAHERMOSA
INSTITUTO TECNOLOGICO DE VILLAHERMOSA ING. EN SISTEMAS COMPUTACIONALES CATEDRATICO: ING.MAURICIO ARTURO REYES HERNANDEZ ALUMNA: Jennifer Paola Jiménez lozano MATERIA: POO TRABAJOS: PROYECTOS Problema de
Programación orientada a objetos. Introducción
Programación orientada a objetos Clases: Polimorfismo Introducción El polimorfismo, en general, es la característica de un lenguaje orientado a objetos que permite que un mismo identificador de método
El patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.
Definición más precisa de los patrones Un patrón del diseño nomina, abstrae y identifica los aspectos claves de un diseño común para crear un diseño orientado a objetos reutilizable. Son descripciones
18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
CLASE 9: DISEÑO CON PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez
CLASE 9: DISEÑO CON PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Diseño de Objetos Identificar requerimientos, crear un modelo del dominio, agregar métodos a las clases
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Diseño orientado a objetos El diseño orientado a objetos surge de la idea de traspasar a los sistemas de software,
Patrón Façade Patrón Template Method Conclusiones
Tema 3.3.1 Patrones: Façade y Template Method Ingeniería del Software II J. Peña (Teoría) Índice Patrón Façade Patrón Template Method Conclusiones Índice Patrón Façade Patrón Template Method Conclusiones
Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón de comportamiento Iterator Técnicas de Programación - Curso 2007/08 Propósito Proporcionar acceso secuencial a los elementos de un agregado, sin exponer su representación interna
Tema 10: Interfaces. Índice
Tema 10: Interfaces Antonio J. Sierra Índice 1. Definición de una interfaz. 2. Implementación y uso de una interfaz. 3. Extensión de las interfaces. 4. Modelado UML de las interfaces. 5. Casos de uso.
Capítulo 3. Metodología
Capítulo 3. Metodología 3.1 Introducción Para el desarrollo de este trabajo se utilizó la metodología Ingeniería Web IWeb es una propuesta metodológica que trabaja con la World Wide Web y la Internet.
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Programación Orientada a Objetos Profr. Pedro Pablo Mayorga
Actividad 3 Historia de los paradigmas de programación Unidad 1 Paradigma de programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No
Programación 4 EXAMEN DICIEMBRE SOLUCIÓN
Problema 1 Parte a) Programación 4 EXAMEN DICIEMBRE 2016 - SOLUCIÓN i. Modelado del Dominio y Definición del Comportamiento del Sistema. ii. Es declarativa, ya que las PRE y POST condiciones no dicen el
Caso de Estudio: TDA Racional
Un tipo de dato es un modelo matemático que especifica un conjunto de valores y un conjunto de operaciones sobre esos valores. El encapsulamiento es un mecanismo que permite dividir los programas en módulos
Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición
1. MODELOS DEL PROCESO SOFTWARE El modelo de proceso de desarrollo de software es quizás la pieza más importante de este engranaje conocido como ingeniería de software. Existen varios modelos para el proceso
Introducción y conceptos de POO
Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas
Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas [email protected] Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Ejecución de hebras. En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura).
Ejecución de hebras En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura). Hebras vs. Procesos Los cambios de contexto son más costosos en
Tema: Herencia en C#.
Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir
Implementación Patrones de Diseño
Implementación Patrones de Diseño Contenido Singleton State Observer Factory Singleton - Ejemplo Singleton -instancia : Singleton -Singleton() +getinstancia() : Singleton +operacion() Singleton Código
Clases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Técnicas de Pruebas de
Técnicas de Pruebas de Software Lecturas Pruebas de Unidades Pruebas Integración Docente Beatriz E. Florián [email protected] Mayo 3 de 2005 Pruebas Reglas de oro para pruebas Límites de Pruebas: Probar
Java Interfaces y el concepto de simplicidad
El concepto de Java Interfaces es de sobra conocido por todos. Qué son los Java interfaces?. Esta es una muy buena pregunta.la mayor parte de las veces cuando uno mira la definición de interface suele
INGENIERÍA DEL SOFTWARE DE GESTIÓN II
INGENIERÍA DEL SOFTWARE DE GESTIÓN II BOLETÍN DE EJERCICIOS DE PATRONES DE DISEÑO ANTONIO RUIZ-CORTÉS PABLO TRINIDAD CARLOS MÜLLER MANUEL RESINAS SEVILLA, 18 DE ENERO DE 2007 First published in May 2006
UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso
UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son parte de un concepto general denominado clases.
06/10/2009. Qué es el Ciclo de Vida del SW? La norma Modelos de desarrollo
Tema 2: Ciclo de vida del Software Marcos López Sanz Ingeniería del Software de Gestión Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Qué es el Ciclo de Vida del SW? Es una sucesión
Práctica 5.- Recursividad
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación Avanzada en Java Prim. 2009 Práctica 5.- Recursividad Datos de la práctica Fecha 6 de marzo de 2009 Conceptos
Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información
Modelo Dinámico del Diseño del Software y Representación en UML UNIDAD 9 Análisis y Diseño de Sistemas de Información El Modelo Dinámico El objetivo del modelo Dinámico es presentar o describir el comportamiento
Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. [email protected] DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2
Ciclos, Procesos y Metodologías de Desarrollo de Software Análisis y Diseño de Sistemas de Información UNIDAD 2 Desarrollo de un Sistema de Información Desarrollo de un Sistema de Información Desarrollo
INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)
APRENDERAPROGRAMAR.COM INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones
Introducción Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
Introducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época
Programación Orientada a Objetos
Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 8 Nombre: El Modelo de diseño con UML Contextualización Los modelos que podemos crear con UML son varios, por lo que debemos
PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype
PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases
12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia
ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso "Un diagrama que representa una interacción poniendo el foco en la secuencia
Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
CASOS DE USO.
CASOS DE USO Suponga que va a comenzar a desarrollar un sistema Por dónde empieza? Obviamente con el proceso de "levantado de requerimientos", el cual un proceso muy parecido entre un exorcismo y un psicoanálisis,
Aplicaciones Móviles. Unidad 2: Patrones de Diseño de Software
INACAP Universidad Tecnológica de Chile Sede Santiago Centro Aplicaciones Móviles Unidad 2: Patrones de Diseño de Software Ing. Manuel López Ramos Unidad 1 Qué es un Patrón de Diseño de Software? Qué es
Tema 3: Programación orientada a objetos (I)
Tema 3: Programación orientada a objetos (I) Ventajas del enfoque orientado a objetos Clases y Objetos Métodos y Mensajes Algoritmos y Sentencias Construcción de software orientado a objetos Búsqueda de
Universidad de Cantabria
Polimorfismo Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Comprender el mecanismo del polimorfismo Aprender a utilizar el
Ingeniería del Software 2
Análisis de requisitos es la 1ª fase técnica del proceso de ing. del SW Éxito -> Comprensión total de los requisitos Análisis de requisitos -> Tarea de descubrimiento, refinamiento, modelado y especificación
CAPÍTULO I Investigación Preliminar
CAPÍTULO I Investigación Preliminar 1.1 Introducción Según la descripción dada en la página web oficial, Go (conocido también como Golang), es un lenguaje de programación de código abierto que hace simple
Herencia. Implementación en Java
Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente
RELACIÒN ENTRE LA PROGRAMACIÒN ORIENTADA A OBJETOS Y LA ESTRUCTURADA
RELACIÒN ENTRE LA PROGRAMACIÒN ORIENTADA A OBJETOS Y LA ESTRUCTURADA La Programación Orientada a Objetos toma las mejores ideas de la programación estructurada la combina con nuevos y poderosos conceptos
Desarrollo Rápido de Software. Objetivos
Desarrollo Rápido de Software Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objetivos Explicar como un proceso iterativo e evolutivo de desarrollo conduce a una entrega más
Patrones de diseño para C# Los 23 modelos de diseño
38 Patrones de diseño para C# Los 23 modelos de diseño El objeto Catálogo puede utilizar estas subclases concretas para instanciar los productos. No obstante si fuera necesario incluir nuevas clases de
CIDE, SA. RIF: J NIT: MODELO FUNCIONAL
MODELO FUNCIONAL SIGA C O NTE NlD O Introducción Aspectos Conceptuales Definición de modelo Requisitos de un Modelo Funcional Modelando la Funcionalidad del Sistema: Diagrama de Casos de Uso Definición
Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Clases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
Capítulo 16. Diagrama de Clases UML
Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando
Ejercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
Patrones de Software para la Asignación de Responsabilidades
Patrones de Software para la Asignación de Responsabilidades Unidad 2 Patrones de Diseño de Software Patrones Un patrón es una descripción de un problema y cómo resolverlo Descripción Escenario Solución
PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos
PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores
Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP
Curso de Arquitecturas de Software Programación Orientada a Objetos Patrones GRASP Patrones Es una solución a un problema recurrente Capturan las mejores prácticas establecidas para diseño Describen un
