Diagramas de secuencia
|
|
- Ana Belén Vega Herrera
- hace 7 años
- Vistas:
Transcripción
1 Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Fragmentos Combinados: caminos alternativos Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 1
2 Ejemplo Vamos a continuar con el ejemplo del Cinema y el modelamiento del comportamiento del caso de uso Crear Película Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 2
3 Ejemplo De acuerdo con el análisis que hicimos en la lección previa, la clase Cinema es la responsable de crear una nueva película. Estamos suponiendo en nuestro ejemplo que la película se crea con su nombre que es lo que la identifica de manera única. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 3
4 Ejemplo Después de nuestro análisis llegamos al diagrama de interacción que se muestra en la figura. El objeto multiplex recibe el mensaje de creación, crea el objeto película y lo agrega la película a la cartelera. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 4
5 Ejemplo Qué pasaría si la película que se va a crear ya existe? Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 5
6 Ejemplo Según el diagrama de secuencias propuesto, habría duplicaciones de películas y ese es un comportamiento que no queremos tener. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 6
7 Ejemplo Para evitar las duplicaciones, el objeto multiplex es responsable de verificar primero si el nombre de la película que ingresa como argumento del método crearpelicula ya existe en su cartelera. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 7
8 Ejemplo Para esto invoca a su método buscarpelicula(nombre) con el fin de buscar si existe una película con el mismo nombre. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 8
9 Ejemplo Aquí hay dos alternativas: 1. La película no existe en la cartelera y en este caso hay que crearla 2. La película ya existe y en este caso decidimos que no vamos a hacer nada Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 9
10 Para poder representar alternativas o ejecuciones condicionales en los diagramas de secuencia debemos recurrir a los fragmentos combinados. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 10
11 Un fragmento combinado es un agrupamiento lógico, representado por un rectángulo que contiene la estructura condicional que afecta el flujo de los mensajes. Operador de interacción Fragmento Combinado Guardas o Condiciones Operandos de interacción Fragmento Combinado En la figura podemos observar la sintaxis básica que es el rectángulo que delimita el alcance del fragmento. El tipo del fragmento se escribe en la parte superior izquierda. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 11
12 Los fragmentos combinados sirven para representar secuencias de interacción que dependen de que una condición o guarda se cumpla. Sirven para denotar caminos alternativos, secuencias que se pueden ejecutar en paralelo, secuencias en orden estricto, ciclos de ejecución y varios más. En esta lección vamos a estudiar solamente los fragmentos combinados para representar caminos alternativos o condicionales y ciclos. Por favor remitirse a las referencias si quiere conocer más sobre este tema. 12
13 Vamos a precisar la definición de un fragmento combinado alternativo con el ejemplo de la creación de la película. De acuerdo con lo planteado, queremos expresar que sólo crearemos la película en la cartelera si esta no existe. 13
14 Ejemplo Necesitamos poder expresar que lo que está señalado en la figura se ejecutará únicamente si la película no existe Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 14
15 Ejemplo Para representar lo anterior en la sintaxis de los diagramas de secuencia, usamos un fragmento combinado con operador de interacción alt (por alternativo) Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 15
16 Ejemplo Adicionamos una guarda o condición que pregunta si el resultado del método buscarpelicula es igual a null ( lo que implicará que la película no existe en la cartelera) Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 16
17 Ejemplo Sólo si la condición es verdadera es posible crear un nuevo objeto de tipo Película. Note que la interacción para la creación está ahora dentro del rectángulo que define el fragmento combinado. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 17
18 Ejemplo Si la película existe la interacción de secuencia omite este paso, evitando duplicaciones de películas. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 18
19 Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Fragmentos Combinados: ciclos Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 19
20 Para continuar la explicación de los fragmentos combinados vamos a retomar el ejemplo de Universidad para modelar un caso de uso más complejo. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 20
21 Ejemplo - Universidad Suponga que tenemos un diagrama de clases simple sobre una Universidad Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 21
22 Ejemplo - Universidad Este diagrama modela los elementos básicos de la realidad, en donde una Universidad se compone de programas, estudiantes, profesores y cursos. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 22
23 Ejemplo - Universidad Suponga que ahora nos interesa modelar la interacción de los objetos en este sistema para describir el desarrollo del siguiente caso de uso: Calcular el número total de mujeres inscritas en un curso, dado su código de un programa dado. Departamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje 23
24 Vamos a empezar a modelar el caso de uso calcular el número de mujeres inscritas en un curso, dado su código, de un programa dado Lo primero es que de acuerdo con el diagrama de clases, podemos replantear el caso de uso de la siguiente forma: Calcular el número de estudiantes cuyo género es Femenino y que estén inscritas en un curso, dado su código, de un programa dado su nombre. 24
25 Hay varias preguntas que debemos hacernos. 1. Quién es responsable de saber el género de un estudiante? 2. Quién es responsable de saber cuántos estudiantes con genero femenino hay en un curso? 3. Quién es responsable de encontrar el curso que corresponde a un código dado? 4. Quién es responsable de encontrar el programa que corresponde a un nombre dado? 5. Quién es el responsable de recibir del actor externo la información del nombre del programa y del código curso sobre el que se quiere saber cuántas mujeres hay? 25
26 Vamos a utilizar el patrón experto para responder estas preguntas. Para responder la primera pregunta: Quién es responsable de saber el género de un estudiante? Utilizando el patrón experto la respuesta es fácil: Es el estudiante quien tiene esa información. Como consecuencia agregamos el método: dargenero() a la clase Estudiante. 26
27 Para responder la segunda pregunta: Quién es responsable de saber cuántos estudiantes con genero femenino hay en un curso? Lo primero que hay que notar es que los estudiantes inscritos en un curso están modelados en el diagrama por una asociación compartida entre las clases Curso y Estudiante 27
28 Siguiendo de nuevo el patrón experto, es el curso quién sabe cuáles son sus estudiantes inscritos y por lo tanto puede dar el número de mujeres que hay en esa colección. Agregamos entonces el método darnumeromujeres() a la clase curso 28
29 Para responder la tercera pregunta: Quién es responsable de encontrar el curso que corresponde a un código dado? Hay que notar que, de acuerdo con el diagrama propuesto, cada curso le pertenece a un programa. 29
30 De acuerdo con el patrón experto, es el programa quién puede encontrar el objeto curso correspondiente a un código dado. 30
31 Así, agregamos el método buscarcurso(código) a la clase Programa. 31
32 Aquí podríamos cuestionarnos y en ese caso verificar con el experto del dominio de la Universidad, si los cursos en realidad le pertenecen a los programas o si le pertenecen a la universidad. 32
33 Si, después de validar, encontráramos que los cursos le pertenecen a la universidad y que tienen un código único, tendríamos que cambiar nuestro diagrama de clases por el que se muestra en la figura. 33
34 Hay una nueva asociación de composición que indica que la universidad es la dueña de los cursos. 34
35 La asociación de composición entre Programa y Curso cambió por una asociación compartida. 35
36 Note que en este caso el diagrama es más acoplado porque ahora hay una nueva relación entre dos clases. Sin embargo, para resolver este caso de uso no tendríamos que interactuar con los objetos programa lo que puede significar ser más eficiente. La decisión dependerá entonces del caso concreto de la universidad que estemos modelando. 36
37 Para seguir con nuestro ejemplo, no vamos a cambiar el diagrama de clases y vamos a contestar la siguiente pregunta: Quién es responsable de encontrar el programa que corresponde a un nombre dado? 37 37
38 Como la universidad es la dueña de los programas, siguiendo con el patrón experto 38 38
39 agregamos el método buscarprograma(nombre) a la clase Universidad. 39
40 Nos falta contestar la pregunta: Quién es el responsable de recibir del actor externo la información del nombre del programa y del código del curso sobre el que se quiere saber cuántas mujeres hay inscritas? 40
41 El responsable es la universidad quien está jugando el rol del controlador del sistema y recibe las peticiones de los actores externos. Para esto agregamos el método: darnumeromujeres(nombreprograma, código) 41
42 Ahora vamos a construir un diagrama de secuencia para modelar el comportamiento del caso de uso. Para simplificar, vamos a suponer que tenemos como condiciones iniciales, que el nombre del programa y el código del curso dados son válidos, es decir que ya existen en el sistema los objetos correspondientes a ese nombre y a ese código. 42
43 Informalmente la secuencia de interacciones será: 1. Recibir la petición 2. Encontrar el programa 3. Delegar al programa la búsqueda de la respuesta 4. El programa, debe encontrar el curso 5. Y delegar en el curso la búsqueda de la respuesta 43
44 1. Recibir la petición Supondremos que ya hay en ejecución un objeto de la clase Universidad, que estamos llamando u, quien es el responsable de recibir la petición del actor externo 44
45 2. Buscar el programa El objeto u recibe en los argumentos el nombre del programa y el código del curso. Este objeto es responsable de buscar el objeto Programa que corresponde al nombre dado. Recuerde que estamos suponiendo que el nombre es válido y que, por lo tanto, existe un objeto programa con ese nombre. 45
46 Ahora que el objeto u ya tiene el objeto programa correspondiente con la petición, puede delegarle el resto de la interacción enviándole el mensaje darnumero Mujeres y enviándole como argumento el código del curso. 46
47 3. Buscar el curso El objeto programa es responsable de buscar el curso que corresponde al código dado. De nuevo, estamos suponiendo que existe un curso con ese código. 47
48 Ahora que ya tiene le curso puede interactuar con él y delegarle la responsabilidad de calcular el número de mujeres que hay inscritas en ese curso. 48
49 Vamos a modelar el comportamiento del método darmujeres() de la clase Curso en un nuevo diagrama de secuencia. 49
50 Para calcular el número de mujeres debemos: 1. iterar sobre toda la colección de los estudiantes inscritos en este curso 2. por cada uno preguntar el genero 3. Si es femenino entonces sumar a la cuenta 50
51 Vamos a introducir los fragmentos combinados para modelar una iteración o ciclo. Igual que en el caso de los fragmentos combinados para los caminos alternativos, Debemos delimitar el alcance del ciclo con un rectángulo que tiene en la parte superior izquierda el tipo de fragmento, en este caso es un loop 51
52 Para modelar un ciclo necesitamos los siguientes elementos: 1. La inicialización del ciclo 2. La guarda o condición del ciclo 3. El cuerpo del ciclo 4. El avance en la iteración Veamos cómo se hace esto en el diagrama de secuencia 52
53 En esta notación la forma de indicar que se está recorriendo la colección es utilizando la expresión: *next() que retorna el próximo elemento de la colección Entonces para inicializar el ciclo debemos utilizar esta expresión para señalar que tenemos el primer elemento. Esto se hace antes del rectángulo. estudiante = *next() 53
54 Para la guarda del ciclo, la representamos con una condición que significa que si el valor es verdadero se ejecutarán la secuencia que sigue y que está dentro del rectángulo. Si la condición es falsa, se termina la ejecución del ciclo. En este ejemplo la guarda es (estudiante!= null) aquí estamos utilizando la variable estudiante para recorrer la colección. 54
55 En este ejemplo, el cuerpo del ciclo corresponde a la verificación de si el estudiante que se está procesando es mujer o no. Si lo es, debemos aumentar el numero de mujeres inscritas en ese curso. Sino, no hacemos nada 55
56 Para modelar ese comportamiento, utilizamos un nuevo fragmento combinado de tipo alternativo o condicional 56
57 Si existe un elemento en la colección estudiantes, se solicita el genero al objeto estudiante genero = dargenero() 57
58 Tenemos entonces la condición genero = F Que si es verdadera entonces incrementamos el número de mujeres. Si es falsa no haremos nada 58
59 Una vez terminado el framento alt debemos avanzar en la iteración. Para esto de nuevo utilizamos: estudiante = *next() Así queda completa la definición del ciclo. 59
60 Con esto concluimos el ejemplo de ciclos con los fragmentos combinados 60
Diagramas de secuencia
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de
Más detallesDepartamento de Ingeniería de Sistemas y Computación - Universidad de los Andes Nivelatorio de Modelaje
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Patrones Básicos de Asignación de Responsabilidades Introducción 1 Motivación En los módulos anteriores hemos visto cómo utilizando
Más detallesAlgoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño fijo
Algoritmos y Programación Orientada a Objetos I Contenedoras de tamaño fijo Agenda Motivación Contenedoras de tamaño fijo Instrucciones repetitivas Agenda Motivación Contenedoras de tamaño fijo Instrucciones
Más detallesAlgoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos
Algoritmos y Programación Orientada a Objetos I y uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Motivación En muchos
Más detalles12/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
Más detallesMétodos con Parámetros
Métodos con Parámetros Hasta ahora, nuestra clase RobotInspector todavía no es muy útil. Ejemplo para colocar dos conos hicimos esto en la clase anterior. Lo que lográbamos es que el robot coloque dos
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía No.2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivos Conocer una herramienta de modelado para la solución
Más detallesINGENIERÍA DE SOFTWARE. Sesión 10: Diagramas de comunicación
INGENIERÍA DE SOFTWARE Sesión 10: Diagramas de comunicación Contextualización Los diagramas son parte importante en el desarrollo de aplicaciones, pues con éstos se puede visualizar la forma en que funcionará
Más detallesTema: Lenguaje Unificado de Modelado (UML)
POO, Guía No.2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Tema: Lenguaje Unificado de Modelado (UML) Competencia Desarrolla sistemas de información informáticos
Más detallesModelado Estructural F E B R E R O,
Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar
Más detallesTema 3. Magnitudes escalares y vectoriales
1 de 13 09/07/2012 12:51 Tema 3. Magnitudes escalares y vectoriales Algunos derechos reservados por manelzaera Como sabes, una magnitud es todo aquello que se puede medir. Por ejemplo, la fuerza, el tiempo,
Más detallesConocimientos previos
Tema: Estructuras de control de ciclos repetitivos Ficha de aprendizaje 15 n Logro Utiliza estructuras de control de ciclos repetitivos For Next y Loop while @ # Conocimientos previos Qué conjunto de sentencias
Más detallesFundamentos de programación clase 3: Booleanos, condiciones y expresiones condicionales
Fundamentos de programación clase 3: Booleanos, condiciones y expresiones condicionales Autor: Ángela Villota Profesor: Jairo Ernesto Maldonado G. http://campusvirtual.univalle.edu.co jaerma@eisc.univalle.edu.co
Más detallesTecnologías en la Educación Matemática
Tecnologías en la Educación Matemática Datos, Expresiones, Condicionales y Repetición Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión III La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia
Más detallesDesigualdades o inecuaciones lineales en una variable. Prof. Caroline Rodriguez Departamento de Matemáticas UPR - Arecibo
Desigualdades o inecuaciones lineales en una variable Prof. Caroline Rodriguez Departamento de Matemáticas UPR - Arecibo Desigualdades Una desigualdad o inecuación usa símbolos como ,, para representar
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía No.3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivos Conocer una herramienta de modelado para la solución
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivo Conocer una herramienta de modelado para la solución
Más detallesTipos de Datos de python (2ª parte):
Tipos de Datos de python (2ª parte): Enteriormente hemos visto algunos de los tipos de datos que maneja python. Vimos: int, float, chr, str, bool También vimos como convertir datos a cada uno de estos
Más detallesALGORITMICA Y PROGRAMACION POR OBJETOS I
ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis
Más detallesSentencias iterativas
Sentencias iterativas 1. Objetivos Al finalizar esta actividad, serás capaz de: 1. Utilizar adecuadamente la sentencia while para generar la repetición en la ejecución de grupos de sentencias 2. Motivación
Más detallesbash Scripting 31 de mayo de 2007
bash Scripting 31 de mayo de 2007 bash es un shell de Unix (intérprete de comandos de Unix) escrito para el proyecto GNU. Su nombre es un acrónimo de bourne-again shell (otro shell bourne) - haciendo un
Más detallesPara esta práctica usaremos los diagramas de casos de uso, diagramas de secuencia, y los diagramas de clase.
Programación II, Guía #3 17 17 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUÍA #3: Herramientas UML. Análisis y diseño UML. Objetivos Conocer una herramienta de modelado para
Más detallesFundamentos de la POO 1
Fundamentos de la POO 1 La correcta aplicación de los conocimientos de clases y objetos nos permitirán llegar a los objetivos planteados y a generar programas que puedan ser fáciles de comprender para
Más detallesUML Unifield Modeling Languaje
UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje
Más detallesProgramación 4. Diseño Diagramas de Comunicación
Programación 4 Diseño Diagramas de Comunicación Contenido Diagramas de Interacción Notación Reuso de Elementos de Diseño Programación 4 Diseño: Diagramas de Comunicación www.fing.edu.uy/inco/prog4 2012
Más detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesLa forma general que tiene un condicional (una pregunta) es la siguiente:
Clase teórica 3 Algoritmos en C Página 1 de 6 CONDICIONAL En los lenguajes de programación es común el uso de condicionales que sirven para denotar diferentes alternativas que pueden llevarse a cabo dado
Más detallesProgramación Avanzada. Diseño Diagramas de Comunicación
Programación Avanzada Diseño Diagramas de Comunicación Contenido Diagramas de Interacción Notación Reuso de Elementos de Diseño Programación Avanzada Diseño: Diagramas de Comunicación 2 Diagramas de Interacción
Más detallesAlgoritmos: componentes
Algoritmos: componentes Todo algoritmo se puede construir con sólo 3 componentes estructurales: Secuencia : grupo de acciones que se ejecutan una tras otra. Selección : selecciona un camino entre varios
Más detallesCapítulo 2. Conjuntos Conjuntos.
Capítulo 2 Conjuntos 2.1. Conjuntos. Definición 2.1. Un conjunto es una agrupación de objetos, distintos unos de otros, para formar un todo. Si un objeto x es parte de un conjunto C, decimos que x es elemento
Más detallesmatemáticos, como por ejemplo las cinco operaciones básicas, factorial de un número.
Sesión 4: Programar en Scratch soluciones a problemas simples matemáticos, como por ejemplo las cinco operaciones básicas, factorial de un número. Objetivo: Aprender a realizar algoritmos y procedimientos
Más detallesConsulta Avanzado. Objetivo. Contenido. Consulta avanzado. Sesión 1. Aprender a usar las funciones consultav, consulta H, Si y es Error.
Consulta Avanzado Objetivo Aprender a usar las funciones consultav, consulta H, Si y es Error. Contenido Combinación de funciones: CONSULTAV, CONSULTAH, SI, ESERROR Búsqueda Múltiple. Consulta avanzado
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java II... 6 Estructuras de control... 7 Estructuras de selección... 8 Sentencia if... 9 Sentencia if - else... 12 Operador condicional...
Más detallesDiagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING
Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Objetivos Comprender la importancia del modelado y el uso de diagramas para la Ingeniería y la arquitectura. Conocer las ventajas que
Más detallesb) Diagrama de flujo La representación del algoritmo mediante la utilización de un diagrama de flujo sería como el que se muestra:
EJERCICIOS DE ALGORITMOS (ESTRUCTURA SECUENCIAL) En este tipo de estructura las instrucciones se ejecutan una después de la otra y, por lo general, se espera que se proporcione uno o varios datos. EJERCICIO
Más detalles3.3. TEORÍA BÁSICA DE CONJUNTOS Utilizar tablas de verdad para comprobar la equivalencia lógica p q p q.
3.3. TEORÍA BÁSICA DE CONJUNTOS 83 a) p q b) p q c) q p 7. Sabiendo que la proposición compuesta ( q) (q p) es falsa, indicar cuál es el valor de verdad de las proposiciones p y q. 8. Utilizar tablas de
Más detallesEstructura repetitiva while
Estructura repetitiva while Hasta ahora hemos empleado estructuras SECUENCIALES y CONDICIONALES. Existe otro tipo de estructuras tan importantes como las anteriores que son las estructuras REPETITIVAS.
Más detallesNivel 3: Manejo de Grupos de Atributos
Nivel 3: Manejo de Grupos de Atributos 240 Objetivos Pedagógicos 1. Objetivos Pedagógicos Al final de este nivel el lector será capaz de: Utilizar las estructuras contenedoras de tamaño fijo como elementos
Más detallesConceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1
Conceptos ELO329: Diseño y Programación Orientados a Objetos ELO 329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego
Más detallesLección 3: Orden e intervalos
GUÍA DE MATEMÁTICAS III Lección 3: Orden e intervalos La recta real En la lección anterior presentamos los números reales y vimos que éstos están constituidos por los números racionales y los irracionales.
Más detallesAlgoritmos de Búsqueda
Introducción a la Computación Algoritmos de Búsqueda Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales, UBA CONICET 11/10/2017 E. Mocskos (UBA CONICET) Algoritmos de Búsqueda
Más detallesDIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ
DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE 10 GLORIA CECILIA RÍOS MUÑOZ INSTITUCIÓN EDUCATIVA GABRIEL GARCÍA MÁRQUEZ MEDELLÍN 2013 DIAGRAMAS Un diagrama es una representación
Más detallesIteración Diagrama de SINTAXIS: IF
VISION ESTATICA VISION DINAMICA Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Diagrama de SINTAXIS: IF Visión estática Diagrama
Más detallesRazonamiento algorítmico. Analizar problemas y generar una solución algorítmica
Razonamiento algorítmico Analizar problemas y generar una solución algorítmica Herramientas de análisis y diseño Son aquellas que nos permiten visualizar los procesos que se deben llevar a cabo para resolver
Más detallesModelo 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
Más detallesAUTOMATISMOS ELÉCTRICOS: EL SEMÁFORO DE MI CALLE
UNIDAD DIDÁCTICA: TAREA PROGRAMACIÓN Realizada por: Francisco Ignacio Limón Macías. GRUPO C AUTOMATISMOS ELÉCTRICOS: EL SEMÁFORO DE MI CALLE Resumen de la actividad (RELACIONADAS CON SCRATCH) La actividad
Más detallesResumen Clase Anterior Ejercicio Introducción a OOP. ING1310 Introducción a la Computación. Introducción. Introducción a OOP
ING1310 Introducción a la Computación Introducción Introducción a OOP Carlos Reveco creveco@dcc.uchile.cl careveco@miuandes.cl Facultad de Ingeniería/Universidad de los Andes/Chile C.Reveco Facultad de
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesLa Lección de Hoy es sobre Líneas Perpendiculares y Paralelas. El cuál es la expectativa para el aprendizaje del estudiante del estudiante LF.3.A1.
LF.3.A1.7-Tara Walker-Parallel and Perpendicular Lines- La Lección de Hoy es sobre Líneas Perpendiculares y Paralelas. El cuál es la expectativa para el aprendizaje del estudiante del estudiante LF.3.A1.7
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detallesRealizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:
Realizar la siguiente suma y expresar el resultado en hexadecimal: 83/ d + 33/ 4 + 0/ b El primer paso consiste en expresar todos lo valores con la misma base. Para eso convertiremos los dos primeros valores
Más detallesDiagramas De Casos De Uso
Estáticos Diagramas De Casos De Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario.. Por lo tanto los casos de uso determinan los requisitos
Más detallesProf. María Alejandra Quintero. Informática Año
Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle
Más detalles11 Secuencias, Series y Probabilidad
Programa Inmersión, Verano 06 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 300 y MATE 303 Clase #0: lunes, 7 de junio de 06. Secuencias, Series y Probabilidad. Continuación:
Más detallesDiseño Estructurado de Algoritmo
Diseño Estructurado de Algoritmo 1 Sesión No. 8 Nombre: Estructuras Algorítmicas. Primera parte. Objetivo de la sesión: Al concluir la sesión el estudiante identificará las características y usos de las
Más detallesCC Taller de UML Apuntes de Clase. Prof. Andrés Muñoz Ordenes 9 de mayo de 2012
CC5404 - Taller de UML Apuntes de Clase Prof. Andrés Muñoz Ordenes 9 de mayo de 2012 Agenda Motivación Actividad en Clase Continuación Modelo de Análisis Diagrama de Interacción Características Notación
Más detallesTema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 10 Nombre: Diagrama de colaboración Contextualización El uso de los diagramas es importante, permiten el análisis de la información
Más detallesTaller 3 : Diagramas causales en NetLogo
Taller 3 : Diagramas causales en NetLogo La dinámica de sistemas es un tipo de modelaje donde se trata de entender como cosas están relacionadas unas con otras. Es un poco diferente del modelaje con agentes
Más detallesUna pregunta pendiente
Una pregunta pendiente Cómo podemos construir un generador (casi) uniforme para una relación? Recuerde el problema KS definido en la sección anterior y la relación: R KS = {((~a, b), ~x) ~a 2 N n y ~x
Más detallesESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De
Más detallesTipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos
Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos
Más detallesTema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL
Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,
Más detallesDobles: Es el caso de la instrucción if-else (punto 1.2).
1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales
Más detallesTema 5. Diagramas de flujo. Computacion - FA.CE.NA.
Tema 5 Diagramas de flujo D i ag ram a d e F l u j o TEMA5 Diagramas de Flujo. Representación simbólica. Símbolos utilizados. Convenciones. Técnicas de construcción de diagramas. Estructuras básicas. Normas
Más detallesCASOS 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,
Más detallesImplementando TADs en Python
Implementando TADs en Python Luciano Leveroni Departamento de Computación, FCEyN, Universidad de Buenos Aires. 28 de Mayo del 2015 Introducción Cómo vimos en la teórica, los TADs nos permiten encapsular
Más detallesEJERCICIOS DE MODELADO DE INTERACCIÓN
Prácticas de Ingeniería del Software I (Grado en Informática Informática) EJERCICIOS DE MODELADO DE INTERACCIÓN (CC) García, F.J.; Moreno, M.; Bravo, S.; Conde, M.A. Departamento de Informática y Automática
Más detallesMódulo 8. Simplificación de radicales
Módulo 8 Simplificación de radicales OBJETIVO Simplificar expresiones algebraicas con radicales. La simplificación de radicales tiene su principal aplicación en las operaciones con radicales. Estas operaciones
Más detallesCLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez
CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez UML UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de
Más detallesPseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:
Pseudocódigo El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, ingles, etc.) y expresiones que representan cada uno de los pasos que resuelven un problema
Más detallesFundamentos de los Computadores Grado en Ingeniería Informática Análisis y diseño de sistemas secuenciales
5. Análisis y diseño de sistemas secuenciales (I) Fundamentos de los Computadores Grado en Ingeniería Informática Introducción Objetivos: Comprender el funcionamiento de un circuito secuencial partiendo
Más detallesFUNDAMENTOS DE LA VISTA DE INTERACCIÓN
FUNDAMENTOS DE LA VISTA DE INTERACCIÓN INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2017/2018 Dr. Francisco José García Peñalvo / fgarcia@usal.es Alicia García Holgado / aliciagh@usal.es
Más detallesUnidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros
Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros Programación Básica Bioingeniería Médica Facultad de
Más detallesDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos 1 Sesión No. 11 Nombre: Estructuras algorítmicas. Tercera parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará las estructuras algorítmicas repetitivas
Más detallesMetodologías de Diseño. Diseño Diagramas de Colaboración
Metodologías de Diseño y Programación Diseño Diagramas de Colaboración Contenido Diagramas de Interacción Notación CC3002 Diseño : Diagramas de Colaboración primavera/2009 2 Diagramas de Interacción UML
Más detallesDesigualdades o inecuaciones lineales en una variable
Desigualdades o inecuaciones lineales en una variable Sec 3.5 3.6 Prof. Caroline Rodriguez Departamento de Matemáticas UPR - Arecibo Desigualdades Una desigualdad o inecuación usa símbolos como ,,
Más detallesINGENIERÍA DE SOFTWARE
INGENIERÍA DE SOFTWARE INGENIERÍA DE SOFTWARE 1 Sesión No. 10 Nombre: Diagramas de comunicación Contextualización Los diagramas son parte importante en el desarrollo de aplicaciones pues con éstos se puede
Más detallesProgramación Estructurada
Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes
Más detallesIng. Iván Adrianzén Olano. Programación Lógica
Ing. Iván Adrianzén Olano Programación Lógica Fundamentos de Visual Prolog Visual Prolog es orientado a objeto Para el curso de Sistemas Expertos usaremos el Prolog de la forma clásica usando el PIE (Prolog
Más detallesTema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A
Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R
Más detallesINGENIERÍA DEL SOFTWARE
INGENIERÍA DEL SOFTWARE INGENIERÍA DE SOFTWARE 1 Sesión No. 9 Nombre: Diagramas de casos de uso Contextualización Cómo modelar las funciones del sistema? Las funciones del sistema se modelan por medio
Más detallesUNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO DE INTRODUCCION A LA PROGRAMACION DE COMPUTACION 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias
Más detallesEl proceso de diseño. Análisis de tareas
El proceso de diseño Diseño Iteración: Prototipado y Evaluación Técnicas de prototipado Técnicas de evaluación Definir tareas: Análisis de tareas: HTA: Análisis jerárquico de tareas : Diagramas de secuencias
Más detallesINFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION
INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para
Más detallesÁlgebra y Matemática Discreta
Álgebra y Matemática Discreta Sesión de Teoría 1 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 16 Sep 2013-22 Sep 2013 Los Números Enteros El Conjunto Z Vamos a empezar por la aritmética más
Más detallesUML (Unified Modeling Language) Octubre de 2007
UML (Unified Modeling Language) Octubre de 2007 UML un modelo o pieza de información producido en el proceso de desarrollo de software Un lenguaje para especificar, visualizar y construir artefactos de
Más detalles1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Computación y Programación 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias y Sistemas AREA A LA QUE PERTENECE:
Más detallesIngeniería del Software I
- 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales
Más detallesDE PROBLEMAS. Entender el problema. Realizar una representación gráfica del problema. Trazar un plan de actuación.
PASOS PARA LA RESOLUCIÓN DE PROBLEMAS 1º. 2º. Entender el problema. Realizar una representación gráfica del problema. 3º. 4º. Realizar la operación que hemos deducido. 5º 5º. CLIC PARA AVANZAR Trazar un
Más detalles10 abreviaturas JavaScript para principiantes
10 abreviaturas JavaScript para principiantes JavaScript es el lenguaje de programación de lado de cliente más utilizado a la hora del desarrollo de aplicaciones web. Este lenguaje se encarga de dar cierta
Más detallesModelo y Análisis 179
Modelo y Análisis 179 2.6 Análisis Funcional Por medio del análisis funcional: Se muestra las operaciones de los objetos y sus dependencia de datos por medio de los diagramas de flujo de datos. Se descompone
Más detallesFormularios para creación de pruebas y pautas de evaluación
Uso de formularios para creación de pruebas y pautas de evaluación Formularios para creación de pruebas y pautas de evaluación El ejercicio consiste en crear una evaluación usando las herramientas de formularios
Más detallesESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
Más detalles1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Computación y Programación 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias y Sistemas AREA
Más detallesCrear consultas de selección
Crear consultas de selección Abre la base de datos VideoClub que tienes almacenada en tu carpeta de ejercicios y que es el resultado de todos los ejercicios anteriores que has realizado. Si no la tienes,
Más detalles