fundamentos del análisis orientado a objetos
TRANSCRIPT
![Page 1: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/1.jpg)
1
Fundamentos del análisis orientado a
objetos
![Page 2: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/2.jpg)
2
• Recordaremos algunos conceptos básicos de OO
![Page 3: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/3.jpg)
3
Clase Es un contenedor de uno o más datos (variables o propiedades miembro) junto a las operaciones de manipulación de dichos datos (métodos).
![Page 4: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/4.jpg)
4
Es una construcción que se utiliza como un modelo para crear objetos de ese tipo. El modelo describe el estado y el comportamiento que todos los objetos de la clase comparten.
![Page 5: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/5.jpg)
5
class Nombre { // Variables miembro miembro_1; //lista de miembros miembro_2; miembro_3; // Funciones o métodos funcion_miembro_1( ); // funciones miembro conocidas funcion_miembro_2 ( ); // funciones como métodos }
![Page 6: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/6.jpg)
6
Atributos Los datos se encapsulan dentro de una clase declarando variables dentro de las llaves de apertura y cierre de la declaración de la clase, variables que se conocen como atributos. Se declaran igual que las variables locales de un método.
![Page 7: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/7.jpg)
7
class Nombre { int x, y; }
![Page 8: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/8.jpg)
8
Métodos Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje".Desde el punto de vista del comportamiento, es lo que el objeto puede hacer.
![Page 9: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/9.jpg)
9
tipo_devuelto nombre_de_método( lista-formal-de-parámetros ) { cuerpo_del_método; }
![Page 10: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/10.jpg)
10
Ejemplo int metodoSuma( int paramX, int paramY ) { return ( paramX + paramY ); }
![Page 11: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/11.jpg)
11
OBJETO
Entidad provista de un conjunto de propiedades oatributos (datos) y de comportamiento ofuncionalidad (métodos).Corresponden a los objetos reales del mundo quenos rodea, o a objetos internos del sistema (delprograma).
![Page 12: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/12.jpg)
12
Herencia
Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
![Page 13: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/13.jpg)
13Ejemplo
• El gato y el Perro tendrían la herencia (métodos y atributos) del Mamífero.
Mamífero
Gato Perro
![Page 14: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/14.jpg)
14
Abstracción
Expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás.
![Page 15: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/15.jpg)
15Ejemplo
Imaginemos que queremos aplicar la abstraccion a las Aves.
El objeto seria el pajaro, y sus caracteristicas, por ejemplo, serian:
•Pico•Alas•Plumas•Patas
Las funcionalidades asociadas serian:Volar, parar, etc.
![Page 16: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/16.jpg)
16
Polimorfismo
Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcion de los parametros utilizados durante su invocacion.
![Page 17: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/17.jpg)
17
PolimorfismoHay dos tipos:
Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos.
Estático: es el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de ser utilizados.
![Page 18: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/18.jpg)
18
Encapsulamiento
Significa reunir a todos los elementos que puedenconsiderarse pertenecientes a una misma entidad(clase), al mismo nivel de abstracción.
![Page 19: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/19.jpg)
19
Interfaces
Las interfaces de objetos permiten crear código el cual especifica métodosque una clase debe implementar, sin tener que definir como serán manejadosesos métodos.
![Page 20: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/20.jpg)
20
Metodologías Orientadas a objetos
![Page 21: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/21.jpg)
21
Object-Oriented Design (OOD), Booch
• Descripción
Es un ciclo de vida iterativo e incremental, en el cual se mira el desarrollo del producto como una serie de pasos que van evolucionando hasta llegar al sistema final.
![Page 22: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/22.jpg)
22
• Surge debido a los objetivos de la ingeniería de software que son:
• Entregar un producto Software que satisfaga las necesidades del usuario, de forma eficiente y predecible.
• Abarca un “micro proceso de desarrollo” y un “macro proceso de desarrollo”.
![Page 23: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/23.jpg)
23
• Macro-Proceso• Engloba una actividad de planificación arquitectónica, que agrupa capas
de objetos por nivel de abstracción.
• Identifica situaciones relevantes.
• Crea un prototipo de diseño y valida el prototipo aplicándolo a situaciones de uso.
• Es un proceso de alto nivel.
![Page 24: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/24.jpg)
24
Pasos del Macro proceso
![Page 25: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/25.jpg)
25
• Micro-Proceso• Define un conjunto de “reglas” que regulan el uso de operaciones y
atributos, de reglas y políticas.
• Desarrolla situaciones que describen la semántica de las reglas y políticas.
• Crea un prototipo para cada política.
• Instrumenta y refina el prototipo.
• Es un proceso de bajo nivel
![Page 26: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/26.jpg)
26
Pasos del Micro proceso
![Page 27: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/27.jpg)
27
• Características• La metodología de booch se basa en tres modelos
• Modelo de Lógica: está representado en la estructura clase-objeto.
• Modelo Estático: es representado por el diagrama de clase, en el que se construye la arquitectura que se definirá para el sistema.
• Modelo Dinámico: es representado por el diagrama de objeto que muestra cómo las clases interactúan unas con otras.
![Page 28: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/28.jpg)
28
Object modeling Technique (OMT), Rumbaugh
• Descripción
• Es una de las metodologías de análisis y diseño orientadas a objetos, más maduras y eficientes que existen en la actualidad.
• Es de dominio público y , en consecuencia, sobrevive con enorme vitalidad.
• Esto facilita su evolución para acoplarse a todas las necesidades actuales y futuras de la ingeniería de software.
![Page 29: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/29.jpg)
29
• Características• La metodología OMT consta de varias fases
• Análisis.
• Diseño del sistema.
• Diseño de objetos.
• Implementación.
![Page 30: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/30.jpg)
30
• También emplea tres clases de modelos para describir el sistema.
• Modelo de objetos.
• Modelo dinámico.
• Modelo funcional.
![Page 31: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/31.jpg)
31
Object Oriented Analysis (OOA), Coad/Yourdon
• El enfoque de Coad y Yourdon para el análisis orientado a objetos esta basado en cinco capas.
• Capa clase objeto• Capa de estructura• Capa de atributos• Capa de servicios• Capa de tema
![Page 32: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/32.jpg)
32
• Capa clase objeto• Esta capa del análisis y diseño indica las clases y objetos.
• Capa de estructura• Esta capa captura diversas estructuras de clases y objetos, como las
relaciones uno a muchos.
• Capa de atributos• Esta capa detalla los atributos de las clases.
• Capa de servicios• Esta capa indica los mensajes y comportamientos de los objetos.
• Capa de tema• Esta capa divide el diseño en unidades de implementación o
asignaciones de equipos.
![Page 33: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/33.jpg)
33
Diferencias entre el análisis estructurado y el orientado a
objetos
![Page 34: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/34.jpg)
34
Análisis Orientado a objetos
• Según Booch • Es un método de análisis que examina los
requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.
![Page 35: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/35.jpg)
35
Documentos básicos del análisis orientado a objetos.
• Documentos de análisis.• Especificación de requerimientos.• Diagramas de caso de uso.• Escenarios y subescenarios.• Prototipos y su evaluación.
![Page 36: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/36.jpg)
36
Todos estos documentos deben de estar identificados y codificados:
IDENTIFICACION
Se identifican todos los elementos del proceso de desarrollo de software de una forma unívoca.
![Page 37: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/37.jpg)
37
Deben de estar identificados con los siguientes requisitos:
Titulo.
Debe de reflejar de la mejor forma posible sus fines y funcionalidad.
Descripción.
Autores.
Versión. Notación decimal.
Revisión. Autores.
Fecha.
Código de cada documentación o diagrama.
![Page 38: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/38.jpg)
38
Documentos de análisis.
Contiene:• Documentación descrita por el cliente interesado
en la aplicación.• Actas de reuniones de trabajo de analistas.
• Secretario que tome el acta.• Aprobación de la misma por todos los miembros.
![Page 39: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/39.jpg)
39
Especificación de requerimientos.
La captura de requisitos, es el proceso de averiguar , normalmente en circunstancias difíciles, lo que se debe construir.
Jacobson 1999.
![Page 40: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/40.jpg)
40
La captura de requisitos es complicada ya que, es difícil tener una visión global del problema a resolver, además de que los usuarios habituales no saben expresar claramente lo que requieren.
Es el documento mas técnico y elaborado de los documentos de análisis.
![Page 41: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/41.jpg)
41
Es importante codificar los requerimientos, para poder seguirlos a lo largo del proceso de desarrollo de software, para esto se puede utilizar una especificación jerárquica.
• Codificados al igual que las leyes, por niveles.• Reflejar en actas el problema a resolver, y en las reuniones de análisis
determinar que requerimientos se añaden o se eliminan.• Los requerimientos relacionados se codifican en un mismo nivel.
• Cada nivel 1 se hace corresponder con un caso de uso.• Cada nivel 2 se hace corresponder con un escenario.• Cada nivel 1 se hace corresponder con un sub-escenario.
![Page 42: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/42.jpg)
42
Diagramas de casos de uso.
• Se va modelando conforme a los requisitos de cada nivel iniciando con el primer nivel.
• Son una técnica de modelado que se utiliza para describir lo que un nuevo sistema debe de hacer o lo que uno ya existente hace, además de representar una vista externa del sistema.
• Captura acciones y comportamientos del sistema y de los actores.
![Page 43: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/43.jpg)
43
Diagramas de casos de uso(cont.).
• El sistema a modelar se representa encerrado en un rectángulo.
• Actores son quienes interactúan con el sistema. Actor=Clase.
• Se debe diferenciar entre Actores y usuarios; lo usuarios son personas que utilizan el sistema.
• Para cada caso de uso, actores y sistema se realiza una descripción detallada.
![Page 44: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/44.jpg)
44
Diagramas de casos de uso.
• Indican opciones generales.• Es un diagrama sencillo que da una visión global de toda
la aplicación de forma que se entienda rápida y gráficamente, tanto por desarrolladores como por usuarios.
![Page 45: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/45.jpg)
45
Diagramas de casos de uso.
![Page 46: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/46.jpg)
46
Diagramas de casos de uso.
![Page 47: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/47.jpg)
47
Escenarios y subescenarios.
• Cada caso de uso da lugar a múltiples escenarios.• Siguen la codificación de los casos de uso.• Su estudio se hace utilizando guiones, como los
utilizados en el cine.• De los escenarios principales surgen escenarios
secundarios.
![Page 48: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/48.jpg)
48
Análisis estructurado.
![Page 49: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/49.jpg)
49
Análisis estructurado.
Interpreta el sistema de concepto en los datos y el control de terminología en los diagramas de flujo de datos.
![Page 50: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/50.jpg)
50
• Especifica lo que requiere que haga el sistema, pero no se establece como se cumplirán los requerimientos o la forma en que implantaran la aplicación. Permite que las personas observen los elementos lógicos, separados de lo físico. Después de esto se puede desarrollar un modelo eficiente para la situación donde será aplicado.
![Page 51: Fundamentos del análisis orientado a objetos](https://reader034.vdocuments.co/reader034/viewer/2022052322/557b1f1bd8b42a71798b469c/html5/thumbnails/51.jpg)
51
Componentes de Análisis estructurado.
• SIMBOLOS GRAFICOS.
Iconos y convenciones para identificar y describir los componentes de un sistema junto con las relaciones entre estos componentes.