ingeniería en sistemas de...
TRANSCRIPT
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
4
Introducción
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
5
Introducción
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
6
Introducción
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
7
Introducción
M. Larrea Modelos de Software
¿Qué es el Modelado?
“Se entiende por modelado al proceso de creación de una representación o imagen (el
modelo) de un objeto real”
9
Introducción
M. Larrea Modelos de Software
¿De qué sirve aprender esto?
Piensen en este curso como un curso de idioma
11
Introducción
M. Larrea Modelos de Software
¿De qué sirve aprender esto?
12
Introducción
Implemente un método público que tome un entero
y retorne un string. El método debe llamarse foo.
Implement a public method that takes an integer and
returns a string. The method should be called
foo.
Gennemføre en offentlig metode, der tager et heltal
og returnerer en streng. Fremgangsmåden må
kaldes foo.
实现,它接受一个整数并返
回一个字符串的公共方法。
该方法必须叫做foo。
M. Larrea Modelos de Software
¿De qué sirve aprender esto?
13
Introducción
Implemente un método público que tome un entero
y retorne un string. El método debe llamarse foo.
Implement a public method that takes an integer and
returns a string. The method should be called
foo.
Gennemføre en offentlig metode, der tager et heltal
og returnerer en streng. Fremgangsmåden må
kaldes foo.
实现,它接受一个整数并返
回一个字符串的公共方法。
该方法必须叫做foo。
+public String foo(int i)
M. Larrea Modelos de Software
Modelado de Software
El modelado es independiente del paradigma de programación o de las herramientas de desarrollo. En esta
materia vamos a trabajar, principalmente, sobre el modelado bajo el paradigma orientado a objetos.
17
Introducción
M. Larrea Modelos de Software
Modelado de Software
Cada uno de estos modelos presenta una visión diferente, pero conectada, del sistema.
18
Introducción
M. Larrea Modelos de Software
Modelado de Software¿Cuáles son los objetivos del modelado?
El desarrollo de modelos permite contestar las siguientes preguntas: ¿Quién va a usar el sistema? ¿Qué va a hacer
el sistema? ¿Dónde y cuándo se va a usar el sistema?
19
Introducción
M. Larrea Modelos de Software
Modelado de Software¿Cuáles son los objetivos del modelado?
El proceso de desarrollo de los modelos es un proceso a través del cual el equipo de desarrollo logra conocer más y
mejor el sistema a desarrollar.
20
Introducción
M. Larrea Modelos de Software
Modelado de Software¿Cuáles son los objetivos de la materia?
Nuestro objetivo es que, al final de la materia, ustedes sepan cuáles son los distintos tipos de modelos que
existen y cuándo corresponde aplicar cada uno de ellos. También queremos que sean capaces de leer un modelo.
21
Introducción
M. Larrea Modelos de Software
Modelado de Software¿Cuáles son los objetivos de la materia?
No entraremos en profundidad en cómo crear modelos a partir de problemas abstractos, pero si se espera que
puedan leer cualquier modelo, en cualquier dominio de aplicación.
22
Introducción
M. Larrea Modelos de Software
Modelado de Software¿Cómo se materializa un modelo?
Con una representación gráfica.
Con texto.
Diagramas, dibujos.
Informes.
24
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Entre 1940 y 1960 surge la actividad de “programar”. En un principio quien programaba era quien usaba el programa. No había estimación ni gestión alguna.
La “computadora” no estaba en un escritorio sino era una habitación completa. Los “programas” no eran archivos de texto sino tarjetas físicas perforadas.
31
Introducción
M. Larrea Modelos de Software
Historia del Modelado
337
32
Introducción
M. Larrea Modelos de Software
Historia del Modelado
36
Introducción
https://goo.gl/S3Bzje
M. Larrea Modelos de Software
Historia del Modelado
El hardware era específico a cada tarea. No había una computadora de propósito general. Los primeros lenguajes de propósito general fueron COBOL, FORTRAN y ALGOL.
37
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Ada Lovelace(1815-1852)
Es reconocida como la primera programadora de la historia.
38
Introducción
M. Larrea Modelos de Software
Historia del Modelado
41
Introducción
Este software fue escrito en 1840 ¿qué ocurría en el mundo en 1840?
M. Larrea Modelos de Software
Historia del Modelado
42
Introducción
Este software fue escrito en 1840 ¿qué ocurría en el mundo en 1840?
La Argentina llevaba ya más de dos décadas sin un gobierno centralizado y sin una Constitución, si se exceptúa el corto período de la presidencia de Bernardino Rivadavia, que no fue reconocida en todo el país. El gobernador porteño, Juan Manuel de Rosas, había sido legítimamente electo en su provincia y las demás le habían delegado el manejo de las relaciones exteriores y la paz y guerra.
M. Larrea Modelos de Software
Historia del Modelado
43
Introducción
Este software fue escrito en 1840 ¿qué ocurría en el mundo en 1840?
El 19 de enero de 1840, la expedición de Charles Wilkes descubre la Antártida.
M. Larrea Modelos de Software
Historia del Modelado
44
Introducción
Este software fue escrito en 1840 ¿qué ocurría en el mundo en 1840?
El 23 de marzo de 1840 se saca la primera foto registrada de la luna.
M. Larrea Modelos de Software
Historia del Modelado
45
Introducción
Este software fue escrito en 1840 ¿qué ocurría en el mundo en 1840?
El 23 de marzo de 1840 se saca la primera foto registrada de la luna.
http://worldtimeline.info/wor1840.htm
M. Larrea Modelos de Software
Historia del Modelado
Grace Brewster Murray Hopper(1906-1992)
Fue la primera programadora de la MARK I. Inventó el primer compilador y sentó las bases para los lenguajes
de alto nivel.
Una grosa.
46
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Margaret Hamilton(1936 - )
Fue directora de la División de Ingeniería de Software del Laboratorio
de Instrumentación del MIT, donde con su equipo desarrolló el software
de navegación para el Programa Espacial Apolo.
Grosa++.
47
Introducción
M. Larrea Modelos de Software
Historia del Modelado
En 1960 la programación tenía poco o nada de análisis. Los únicos diagramas que se utilizaban eran los flowchart.
48
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Aparecen las subrutinas y con ellas la idea de módulos.
Para 1972 existe la programación estructurada y el concepto de diseño top-down.
En los 70 tenemos el data flow oriented y data structure design
En los 80 hay una maduración del desarrollo de software
En mediados, finales de los 80 se populariza el concepto de OO
50
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Aparecen las ideas de Diseño Orientado a Objetos y Análisis Orientado a Objetos.
El análisis estático OO es en análisis de las clases.
Object Modeling Technique (OMT, 1991)
OMT introduce la importancia del comportamiento dinámico.
51
Introducción
M. Larrea Modelos de Software
Historia del Modelado
En 1992 (Jacobson) se introduce el concepto de Caso de Uso, como una forma de modelar los requerimientos funcionales.
Para esta altura diferentes autores presentan diferentes formas de modelar, diferentes formas de notar los modelos.
Entre 1993 y 1997 se realizaron diferentes intentos de unificar los sistemas de modelado.
52
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Aparece el Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language). UML es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema
53
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Desde el año 2005, UML es un estándar aprobado por la ISO como ISO/IEC 19501:2005 Information technology.
54
Introducción
M. Larrea Modelos de Software
UML
Como herramienta de modelado, UML nos ofrece la posibilidad de modelar diferentes vistas de un mismo sistema.
Use case view
Static view
Dynamic interaction view
Dynamic state machine view
Structural component view
Dynamic concurrent view
Deployment view
56
Introducción
M. Larrea Modelos de Software
UML
Algunas características especiales de UML:
UML es un lenguaje, tiene una sintaxis y una semántica.
Con UML no solo modelamos la cosa X, sino el contexto en donde ocurre X.
UML es flexible, MUY flexible.
TODO es opcional. Se usa sólo lo que se necesita.
57
Introducción
M. Larrea Modelos de Software
UML
Algunas características especiales de UML:
Casi nunca vamos a realizar un modelado completo.
UML está diseñado para estar abierto a interpretaciones.
UML está diseñado para ser extendido.
58
Introducción
M. Larrea Modelos de Software
Representaciones Gráficas
“Una imagen vale más que mil palabras”UML combina gráficos con texto. El objetivo es transmitir un
mensaje claro y sin interferencias.
60
Introducción
M. Larrea Modelos de Software
Representaciones Gráficas
Tenemos que transmitir un concepto o idea, sin que el medio de transmisión sea un obstáculo.
61
Introducción
M. Larrea Modelos de Software
Representaciones Gráficas
Tenemos que transmitir un concepto o idea, sin que el medio de transmisión sea un obstáculo.
Las clases serán de 8 a 12 en el aula 38B
62
Introducción
M. Larrea Modelos de Software
Representaciones Gráficas
Tenemos que transmitir un concepto o idea, sin que el medio de transmisión sea un obstáculo.
Las clases serán de 8 a 12 en el aula 38B
63
Introducción
M. Larrea Modelos de Software
Representaciones Gráficas
Tenemos que transmitir un concepto o idea, sin que el medio de transmisión sea un obstáculo.
.-.. .- ... / -.-. .-.. .- ... . ... / ... . .-. .- -. / -.. . / ---.. / .- / .---- ..--- / . -. / . .-.. / .- ..- .-.. .- / ...-- ---.. -...
64
Introducción
M. Larrea Modelos de Software
Escala
La escala es la relación matemática que existe entre las dimensiones reales y las del dibujo que representa la realidad sobre un plano o un mapa. Es la relación de
proporción que existe entre las medidas de un mapa con las originales.
67
Introducción
M. Larrea Modelos de Software
Principios de Modelado
AbstracciónProyección
DescomposiciónGeneralización
70
Introducción
M. Larrea Modelos de Software
Principios de Modelado
AbstracciónUn modelo puede pensarse como una abstracción de un sistema más complejo. Un modelo funciona como una lupa, aumenta ciertas partes del sistema mientras oculta o disminuye otras.
71
Introducción
M. Larrea Modelos de Software
Principios de Modelado
AbstracciónLa abstracción de un modelo define su complejidad. En el caso del modelado de software la siguiente regla es fundamental:
Un modelo debe ser tan complejo como sea necesario, ni más, ni menos.
A veces se requiere sacrificar exactitud, en favor de entendimiento.
72
Introducción
M. Larrea Modelos de Software
Principios de Modelado
ProyecciónCada elemento en un diagrama UML debe poder proyectarse a un elemento real del sistema. Los mejores modelos son los que están más ligados a la realidad.
73
Introducción
M. Larrea Modelos de Software
Principios de Modelado
DescomposiciónEncarar un problema grandes muchas veces hace que sea imposible encontrar una solución. Descomponer el problema en subproblemas puede ayudar.
74
Introducción
M. Larrea Modelos de Software
Principios de Modelado
DescomposiciónModelar un sistema en un único diagrama es imposible. Además de tener múltiples vistas de un mismo sistema, cada vista se dividirá en múltiples partes o jerarquías.
Distintos niveles de abstracción generan una descomposición. La descomposición debe ser natural e intuitiva.
75
Introducción
M. Larrea Modelos de Software
Principios de Modelado
GeneralizaciónGeneralidad. Se trata de un método que, además de buscar la descripción de las cosas en particular, elabora afirmaciones de tipo general.
El modelado busca aplicar la generalización para la descripción de las cosas.
76
Introducción
M. Larrea Modelos de Software
Herramientas para el Modelado
Herramientas para el Modelado
86
Introducción
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
89
Introducción
M. Larrea Modelos de Software
¿Qué es un Modelo?
Representación en pequeño de alguna cosa
90
Introducción
M. Larrea Modelos de Software
Historia del Modelado
Aparece el Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language). UML es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema
92
Introducción
M. Larrea Modelos de Software
UML
Como herramienta de modelado, UML nos ofrece la posibilidad de modelar diferentes vistas de un mismo sistema.
Use case view
Static view
Dynamic interaction view
Dynamic state machine view
Structural component view
Dynamic concurrent view
Deployment view
93
Introducción
M. Larrea Modelos de Software
Herramientas para el Modelado
Herramientas para el Modelado
94
Introducción