SlideShare una empresa de Scribd logo
1 de 25
Análisis y diseño orientado a
objetos
Presentan:
González leon christian
Hernández Sanabria José Blas
Velázquez Téllez Brahian
Ingeniería de software
Fecha: 29 de mayo 2105
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
UNIDAD CULHUACAN
Definición de POO
Es un paradigma de programación que se basa en la interacción de entes abstractos que
poseen características inherentes y particulares. Que pertenecen a un tipo especifico y se
modelan a través de plantillas. Existen conceptos clave para entender el objetivo de este tipo
de programación entre los que se encuentran:
- Clase
- Objeto
- Método
- Encapsulamiento
- Herencia
- Polimorfismo
2
Análisis orientado a objetos
Un modelo de análisis es muy importante, ya que permite adaptar el comportamiento del
sistema a los requisitos obtenidos.
Definición formal:
El análisis orientado a objetos es el proceso que modela el dominio del problema
identificando el conjunto de objetos semánticos (objetos generales) que
interaccionan y se comportan de acuerdo a los requisitos del sistema.
3
Características
- Utilizar lenguaje más técnico
- Razonar el funcionamiento interno
- Estructurar de manera general el sistema
- Aproximar al modelo de diseño
- Los objetos semánticos representan cosas o conceptos utilizados para describir el
problema
- El modelo representa el problema a resolver en términos de objetos distintos pero
relacionados entre si.
- Especifica la interacción entre los objetos.
- Genera el primer diagrama de clases del sistema
4
Modelo de dominio
Un modelo de dominio es una representación de las clases conceptuales del mundo real. No
de elementos de software.
Existen tres conceptos asociados a las clases conceptuales:
Símbolo: Plantilla general de lo que se quiere representar.
Intención: ¿Por qué representar el símbolo?
Extensión: Es el resultado de la representación y la intención.
5
Criterio para generar clases conceptuales
Existen diferentes métodos para generar clases conceptuales. Uno de los cuales es listar
las categorías, en este método se proponen las siguientes categorías:
- Objetos tangibles - Roles
- Organizaciones - Interacciones
- Contenedores - Lugares
6
Diseño orientado a objetos
En este paso se listan todos los objetos que intervienen en el sistema, sean observables de
forma directa, o derivados de éstos último. Además se debe especificar las propiedades y
comportamientos de los objetos, es decir, sus atributos y métodos.
La forma profesional de hacer éste diseño es utilizando un diagrama de clases UML, donde
se muestren los elementos antes mencionados.
Diagrama UML de clases:
- La clase es el prototipo para crear objetos.
- Primero se lista los atributos.
- Después se listan los métodos.
7
Nombre de clase
Atributos
Métodos
Diseño orientado a objetos (2)
Ejemplo: Se plantea una problemática en la que se necesita representar un objeto que pueda
realizar operaciones sobre matrices.
8
En resumen . . .
9
10
Ventajas del Diseño Orientado a Objetos
Fácil de mantener, los objetos representan entidades auto-contenidas.
Los objetos son componentes reutilizables.
Para algunos sistemas, puede haber un mapeo obvio entre las entidades del mundo real
y los objetos del sistema.
11
Componentes del Diseño Orientado a Objetos
• La identificación de objetos, sus atributos .
• La organización de objetos dentro de una jerarquía .
• La construcción de descripciones de los objetos que muestren que representa .
• La especificación de los objetos.
Algo más que decir . . .
12
Patrones de diseño
Los patrones de diseño definen un problema que ocurre una y otra vez en desarrollo de
software, así como la solución a este problema. De tal forma que la solución pueda ser
aplicada todas las veces que sean necesarias, sin pensar soluciones diferentes cada vez.
Ejemplo: En un software convencional de escritorio existe una GUI que permite introducir
datos que son almacenados en memoria, para luego ser procesados para dar un resultado
visible al usuario. En este caso el problema es la comunicación entre el usuario y nuestro
sistema que procesa los datos.
13
Intermediario
(Almacena datos)
GUI ProcesamientoDatosDatos
Elementos del patrón de diseño
Nombre
Permite describir en una o dos palabras, un problema junto con sus soluciones y
consecuencias. Es importante tener en cuenta el nombre de los patrones a utilizar
para generar una documentación apropiada de nuestro software.
Problema
Especifica cuándo aplicar el patrón, además del contexto de la problemática por la
cual se necesita un patrón. En la mayoría de los casos el problema incluye una serie de
condiciones que necesitan cumplirse para que tenga sentido aplicar el patrón.
Solución
Es el patrón en sí. Proporciona una descripción general sobre los elementos que
interactuarán para resolver el problema, es decir, clases y objetos.
Consecuencias
Son los resultados, ventajas y desventajas de aplicar el patrón.
14
Algunos patrones comunes de diseño
15
Modelo –Vista – Controlador (MVC)
Este patrón separa la creación de softwares con GUI en tres componentes esenciales, los
cuales podemos observar en la siguiente figura:
16
Modelo
Vista
Usuario
Controlador
Manipula
Usa Se muestra
Actualiza
Singleton
Este patrón garantiza que una clase tenga únicamente una instancia durante la ejecución de
nuestro software, proporcionando un punto de acceso global a ella.
Es oportuno utilizarlo especialmente cuando se tienen motores complejos representados en
una clase extensa.
17
Ejemplo:
En el diagrama a bloques se
muestra un sistema “Traductor”
de una expresión matemática a
un conjunto de instrucciones.
No hay necesidad que existan
varios objetos de una clase que
represente a éste sistema, solo
es necesaria una, ya que solo se
analizará una expresión a la vez
y el sistema siempre tendrá el
mismo comportamiento.
Iterador
Este patrón se usa cuando se necesita proveer acceso a los elementos contenidos en una
estructura de datos, pero sin exponer la estructura interna de la misma.
Por ejemplo, en una lista ligada simple cada nodo, además de contener información acerca
del objeto contenido, también almacena un apuntador a una nodo siguiente. La información
sobre este apuntador es innecesaria para si solo se necesita acceder a los objetos contenidos.
En este sentido el iterador es un objeto auxiliar que permite acceder exclusivamente a los
elementos almacenados en el contenedor, y en la mayoría de los casos iterar sobre éste.
¿Quién usa este patrón? C++ STL, Java API, C# .NET, etc.
18
Ejemplo práctico del análisis y diseño
orientado a objetos
19
20
Análisis
Para administrar una tienda de
conveniencia primero definiremos
los requerimientos del sistema.
Se realizaran el modelado y
especificación y relación de todos los
componentes y/o requisitos del sistema
como:
- Como el control de la mercancía
- Actualización de precios
- Checar caducidades
- Entre otros.
21
Diseño
En el diseño se definirán los objetos
con base en los requerimientos del
sistema, tomando en cuenta que
cada objeto tiene características
diferentes.
22
Especificación de los atributos
Cada objeto tiene características y solo se usaran las que
interesen del problema.
23
Especificaremos que acciones pueden realizar los objetos:
Para que los objetos pueda comunicarse e interactuar entre ellos deben ser capas de
mandar y recibir mensajes de ellos hacia otros objetos y viceversa.
Gracias por su atención!
24
Referencias
• Ingeniería de Software. Análisis Orientado a Objetos. Mayo 2015. URL:
http://ocw.usal.es/ensenanzas-tecnicas/ingenieria-del-software/contenidos/Tema4-
AOO-1pp.pdf
• DEITEL, Harvey M. y Deitel, Paul J. “Como programar en C++”. Pearson Education.
Cuarta Edición. México. 2003. pp 14.
• Gamma, E; Helm, R; Johnson, R; Vissaldes, J; “Patrones de diseño, elementos de
software orientado a objetos reutilizable”, Pearson Educación, S.A., Madrid, 2003
• http://www.cs.buap.mx/~dpinto/semadoo/mario.pdf
• http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/132.248.52.100/175/A6
%20Cap%C3%ADtulo%203.pdf?sequence=6
25

Más contenido relacionado

La actualidad más candente

Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoSergio Sanchez
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UMLJuan Antonio
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.German Rodriguez
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de DatosEnrique Cabello
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 

La actualidad más candente (20)

Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 

Destacado

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosEliecer Suarez
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetosjoalmerca6
 
Programación orientada a objetos - Introducción - ¿Qué es un objeto?
Programación orientada a objetos - Introducción - ¿Qué es un objeto?Programación orientada a objetos - Introducción - ¿Qué es un objeto?
Programación orientada a objetos - Introducción - ¿Qué es un objeto?Christian Leon
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosEduardo Galindo
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notationsTaher Barodawala
 
12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A ObjetosJulio Pari
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Herramientas de Análisis Organizacional Interno y Externo
Herramientas de Análisis Organizacional Interno y Externo Herramientas de Análisis Organizacional Interno y Externo
Herramientas de Análisis Organizacional Interno y Externo Dra. Anggy Rodríguez
 
Análisis y Diseño Organizacional
Análisis y Diseño OrganizacionalAnálisis y Diseño Organizacional
Análisis y Diseño OrganizacionalJoel G. Kuan
 
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVA
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVAANÁLISIS DE LA ESTRUCTURA ORGANIZATIVA
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVAKohlberg School
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a ObjetosMegaMono
 
Definición de diagrama de proceso
Definición de diagrama de procesoDefinición de diagrama de proceso
Definición de diagrama de procesoferantonio-93
 

Destacado (16)

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetos
 
Programación orientada a objetos - Introducción - ¿Qué es un objeto?
Programación orientada a objetos - Introducción - ¿Qué es un objeto?Programación orientada a objetos - Introducción - ¿Qué es un objeto?
Programación orientada a objetos - Introducción - ¿Qué es un objeto?
 
Metodologías para el desarrollo de sioo
Metodologías para el desarrollo de siooMetodologías para el desarrollo de sioo
Metodologías para el desarrollo de sioo
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notations
 
12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Herramientas de Análisis Organizacional Interno y Externo
Herramientas de Análisis Organizacional Interno y Externo Herramientas de Análisis Organizacional Interno y Externo
Herramientas de Análisis Organizacional Interno y Externo
 
Análisis y Diseño Organizacional
Análisis y Diseño OrganizacionalAnálisis y Diseño Organizacional
Análisis y Diseño Organizacional
 
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVA
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVAANÁLISIS DE LA ESTRUCTURA ORGANIZATIVA
ANÁLISIS DE LA ESTRUCTURA ORGANIZATIVA
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a Objetos
 
Definición de diagrama de proceso
Definición de diagrama de procesoDefinición de diagrama de proceso
Definición de diagrama de proceso
 
Analisis organizacional1
Analisis organizacional1Analisis organizacional1
Analisis organizacional1
 

Similar a Análisis y diseño orientado a objetos

Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
Jose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasJose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasAmerigled Salgado
 
Unidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareUnidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareAndhy H Palma
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos Mirla Montaño
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSRichard J. Nuñez
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiRaimonKoudsi
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)LindsayLeblanc3
 
Diseño+de..
Diseño+de..Diseño+de..
Diseño+de..jasped
 
Fundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoFundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoMonica Naranjo
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughviisistemas
 
Alejandro soto ingeneria sistema
Alejandro soto ingeneria sistemaAlejandro soto ingeneria sistema
Alejandro soto ingeneria sistemaAlejandross1
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosLex Marin
 

Similar a Análisis y diseño orientado a objetos (20)

Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Jose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemasJose marcano analisis y diseño de sistemas
Jose marcano analisis y diseño de sistemas
 
Unidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareUnidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del software
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Analisis orientados a objetos
Analisis orientados a objetosAnalisis orientados a objetos
Analisis orientados a objetos
 
Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)
 
0 todo
0 todo0 todo
0 todo
 
Diseño+de..
Diseño+de..Diseño+de..
Diseño+de..
 
Fundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoFundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimiento
 
Metodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaughMetodologã­a orientada-a-objetos-omt.-rumbaugh
Metodologã­a orientada-a-objetos-omt.-rumbaugh
 
Exponer yony y estefany
Exponer  yony y estefanyExponer  yony y estefany
Exponer yony y estefany
 
Modelo de analisis expo
Modelo de analisis expoModelo de analisis expo
Modelo de analisis expo
 
Alejandro soto ingeneria sistema
Alejandro soto ingeneria sistemaAlejandro soto ingeneria sistema
Alejandro soto ingeneria sistema
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetos
 

Análisis y diseño orientado a objetos

  • 1. Análisis y diseño orientado a objetos Presentan: González leon christian Hernández Sanabria José Blas Velázquez Téllez Brahian Ingeniería de software Fecha: 29 de mayo 2105 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACAN
  • 2. Definición de POO Es un paradigma de programación que se basa en la interacción de entes abstractos que poseen características inherentes y particulares. Que pertenecen a un tipo especifico y se modelan a través de plantillas. Existen conceptos clave para entender el objetivo de este tipo de programación entre los que se encuentran: - Clase - Objeto - Método - Encapsulamiento - Herencia - Polimorfismo 2
  • 3. Análisis orientado a objetos Un modelo de análisis es muy importante, ya que permite adaptar el comportamiento del sistema a los requisitos obtenidos. Definición formal: El análisis orientado a objetos es el proceso que modela el dominio del problema identificando el conjunto de objetos semánticos (objetos generales) que interaccionan y se comportan de acuerdo a los requisitos del sistema. 3
  • 4. Características - Utilizar lenguaje más técnico - Razonar el funcionamiento interno - Estructurar de manera general el sistema - Aproximar al modelo de diseño - Los objetos semánticos representan cosas o conceptos utilizados para describir el problema - El modelo representa el problema a resolver en términos de objetos distintos pero relacionados entre si. - Especifica la interacción entre los objetos. - Genera el primer diagrama de clases del sistema 4
  • 5. Modelo de dominio Un modelo de dominio es una representación de las clases conceptuales del mundo real. No de elementos de software. Existen tres conceptos asociados a las clases conceptuales: Símbolo: Plantilla general de lo que se quiere representar. Intención: ¿Por qué representar el símbolo? Extensión: Es el resultado de la representación y la intención. 5
  • 6. Criterio para generar clases conceptuales Existen diferentes métodos para generar clases conceptuales. Uno de los cuales es listar las categorías, en este método se proponen las siguientes categorías: - Objetos tangibles - Roles - Organizaciones - Interacciones - Contenedores - Lugares 6
  • 7. Diseño orientado a objetos En este paso se listan todos los objetos que intervienen en el sistema, sean observables de forma directa, o derivados de éstos último. Además se debe especificar las propiedades y comportamientos de los objetos, es decir, sus atributos y métodos. La forma profesional de hacer éste diseño es utilizando un diagrama de clases UML, donde se muestren los elementos antes mencionados. Diagrama UML de clases: - La clase es el prototipo para crear objetos. - Primero se lista los atributos. - Después se listan los métodos. 7 Nombre de clase Atributos Métodos
  • 8. Diseño orientado a objetos (2) Ejemplo: Se plantea una problemática en la que se necesita representar un objeto que pueda realizar operaciones sobre matrices. 8
  • 9. En resumen . . . 9
  • 10. 10 Ventajas del Diseño Orientado a Objetos Fácil de mantener, los objetos representan entidades auto-contenidas. Los objetos son componentes reutilizables. Para algunos sistemas, puede haber un mapeo obvio entre las entidades del mundo real y los objetos del sistema.
  • 11. 11 Componentes del Diseño Orientado a Objetos • La identificación de objetos, sus atributos . • La organización de objetos dentro de una jerarquía . • La construcción de descripciones de los objetos que muestren que representa . • La especificación de los objetos.
  • 12. Algo más que decir . . . 12
  • 13. Patrones de diseño Los patrones de diseño definen un problema que ocurre una y otra vez en desarrollo de software, así como la solución a este problema. De tal forma que la solución pueda ser aplicada todas las veces que sean necesarias, sin pensar soluciones diferentes cada vez. Ejemplo: En un software convencional de escritorio existe una GUI que permite introducir datos que son almacenados en memoria, para luego ser procesados para dar un resultado visible al usuario. En este caso el problema es la comunicación entre el usuario y nuestro sistema que procesa los datos. 13 Intermediario (Almacena datos) GUI ProcesamientoDatosDatos
  • 14. Elementos del patrón de diseño Nombre Permite describir en una o dos palabras, un problema junto con sus soluciones y consecuencias. Es importante tener en cuenta el nombre de los patrones a utilizar para generar una documentación apropiada de nuestro software. Problema Especifica cuándo aplicar el patrón, además del contexto de la problemática por la cual se necesita un patrón. En la mayoría de los casos el problema incluye una serie de condiciones que necesitan cumplirse para que tenga sentido aplicar el patrón. Solución Es el patrón en sí. Proporciona una descripción general sobre los elementos que interactuarán para resolver el problema, es decir, clases y objetos. Consecuencias Son los resultados, ventajas y desventajas de aplicar el patrón. 14
  • 15. Algunos patrones comunes de diseño 15
  • 16. Modelo –Vista – Controlador (MVC) Este patrón separa la creación de softwares con GUI en tres componentes esenciales, los cuales podemos observar en la siguiente figura: 16 Modelo Vista Usuario Controlador Manipula Usa Se muestra Actualiza
  • 17. Singleton Este patrón garantiza que una clase tenga únicamente una instancia durante la ejecución de nuestro software, proporcionando un punto de acceso global a ella. Es oportuno utilizarlo especialmente cuando se tienen motores complejos representados en una clase extensa. 17 Ejemplo: En el diagrama a bloques se muestra un sistema “Traductor” de una expresión matemática a un conjunto de instrucciones. No hay necesidad que existan varios objetos de una clase que represente a éste sistema, solo es necesaria una, ya que solo se analizará una expresión a la vez y el sistema siempre tendrá el mismo comportamiento.
  • 18. Iterador Este patrón se usa cuando se necesita proveer acceso a los elementos contenidos en una estructura de datos, pero sin exponer la estructura interna de la misma. Por ejemplo, en una lista ligada simple cada nodo, además de contener información acerca del objeto contenido, también almacena un apuntador a una nodo siguiente. La información sobre este apuntador es innecesaria para si solo se necesita acceder a los objetos contenidos. En este sentido el iterador es un objeto auxiliar que permite acceder exclusivamente a los elementos almacenados en el contenedor, y en la mayoría de los casos iterar sobre éste. ¿Quién usa este patrón? C++ STL, Java API, C# .NET, etc. 18
  • 19. Ejemplo práctico del análisis y diseño orientado a objetos 19
  • 20. 20 Análisis Para administrar una tienda de conveniencia primero definiremos los requerimientos del sistema. Se realizaran el modelado y especificación y relación de todos los componentes y/o requisitos del sistema como: - Como el control de la mercancía - Actualización de precios - Checar caducidades - Entre otros.
  • 21. 21 Diseño En el diseño se definirán los objetos con base en los requerimientos del sistema, tomando en cuenta que cada objeto tiene características diferentes.
  • 22. 22 Especificación de los atributos Cada objeto tiene características y solo se usaran las que interesen del problema.
  • 23. 23 Especificaremos que acciones pueden realizar los objetos: Para que los objetos pueda comunicarse e interactuar entre ellos deben ser capas de mandar y recibir mensajes de ellos hacia otros objetos y viceversa.
  • 24. Gracias por su atención! 24
  • 25. Referencias • Ingeniería de Software. Análisis Orientado a Objetos. Mayo 2015. URL: http://ocw.usal.es/ensenanzas-tecnicas/ingenieria-del-software/contenidos/Tema4- AOO-1pp.pdf • DEITEL, Harvey M. y Deitel, Paul J. “Como programar en C++”. Pearson Education. Cuarta Edición. México. 2003. pp 14. • Gamma, E; Helm, R; Johnson, R; Vissaldes, J; “Patrones de diseño, elementos de software orientado a objetos reutilizable”, Pearson Educación, S.A., Madrid, 2003 • http://www.cs.buap.mx/~dpinto/semadoo/mario.pdf • http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/132.248.52.100/175/A6 %20Cap%C3%ADtulo%203.pdf?sequence=6 25