Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Foro de Reforzamiento de Aprendizaje U 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Instituto Rosario Castellanos

IRC

Sistemas Información

Foro de reforzamiento de aprendizaje.

Análisis y diseño orientado a objetos

LAIT506B2_O_22-2

PRESENTA
Fabian Antonio Osorio García

Docente
Sergio Cardel Casiano

Ciudad de México

Noviembre 2022

1
Foro de reforzamiento de aprendizaje: Análisis y diseño orientado a objetos

Investiga en que consiste el análisis y diseño de sistemas orientados a objetos.

Análisis orientado a objetos (AOO).

“El objetivo del Análisis Orientado a Objetos (AOO) es desarrollar un modelo que
describa el software de computadora necesario para satisfacer los requisitos
definidos por el cliente. El modelo de análisis contiene el funcionamiento y el
comportamiento de los elementos del modelo de objetos. No existe un acuerdo
sobre los conceptos que sirven de base para el AOO, aunque se repiten a menudo
un número de ideas clave.

El propósito es definir todas las clases, atributos, operaciones y relaciones de


comportamiento asociado entre ellos que sean relevantes al problema que se va a
resolver. Para realizar dicho análisis se deben ejecutar las siguientes tareas:

-Identificar los escenarios o casos de uso.

-Identificar las clases,

-Definir sus atributos y métodos.

-Especificar la jerarquía entre las clases.

-Representar las relaciones entre los diferentes objetos del sistema.

-Modelar el comportamiento de cada objeto.

-Repetir iterativamente las tareas anteriores hasta completar el modelo.

UML Existían varios métodos para realizar AOO, pero esos métodos se
recombinaron en uno sólo llamado UML (Lenguaje de Modelo Unificado) este
sistema aúna todos los procesos comunes y trata de tomar de cada método lo
mejor. UML se caracteriza por cinco vistas independientes de un mismo problema,
cada vista contiene un enfoque diferente del problema y lo muestra con gráficos
de diferentes tipos.

Las cinco visiones diferentes de UML son:

2
Vista del usuario: representa el sistema desde la perspectiva de los usuarios
(llamados actores en UML). Para este tipo de vista se utiliza el diagrama de casos
de uso.

Vista estructural: modela la estructura estática (clases, objetos y sus relaciones).

Vista del comportamiento: representa los aspectos dinámicos o de


comportamiento del sistema. También muestra las interacciones o colaboraciones
entre los diversos elementos estructurales descritos en las vistas anteriores.

Vista de implementación: aquí se representan tal y como van a ser implementados


los aspectos estructurales y de comportamiento.

Vista del entorno: muestra como irán los módulos implementados dentro del
proyecto físico y las relaciones entre los diferentes módulos.

El AOO se centra en las vistas del usuario y estructural.

El DOO (modelo de diseño Orientado a Objetos) se centra más en las vistas del
comportamiento y entorno.

Análisis del dominio

Es la primera actividad técnica a la hora de comenzar un nuevo proyecto. El


objetivo de este análisis es definir las clases y objetos que están presentes en el
dominio del problema propuesto. Esto dependerá del tipo de enfoque que se dé al
problema o del área de negocio que se desea modelizar y se encuentra
encuadrado dentro de un nivel medio de abstracción. Sirve para crear una
biblioteca de clases que posteriormente podrán ser reutilizables (componentes).

Para ello cuando se diseñan las clases hay que tener en mente que no se
realizarán con el único objetivo de integrarlas en una aplicación concreta, sino que
deben diseñarse pensando en una posterior reutilización, esto es lo que llamamos
análisis del dominio.

3
Por lo tanto, se trata de identificar los requisitos comunes de una aplicación
específica con vistas a su reutilización posterior dentro de un dominio de
aplicación específico.

Un analista de dominio debe verse a sí mismo como un diseñador de herramientas


para que los demás trabajen con ellas.

Definir el dominio

Consiste en aislar el área del negocio, se extraen las especificaciones y diseños


de código que ya existan, clases, interfaz gráfica y clases de acceso a bases de
datos, bibliotecas comerciales, también políticas, procedimientos, estándares,
guías etc. En definitiva, todo lo relevante para el proyecto. Se clasifican los
elementos definiendo categorías de elementos y la nomenclatura de cada una de
ellas.

Se deben identificar los objetos candidatos, ver si dichos objetos son reutilizables
o adaptarlos para que lo sean y definir qué porcentaje de la aplicación podrá
construirse con estos objetos reutilizables.

Se trata de desarrollar un modelo de análisis para los objetos que posteriormente


servirá como base para la construcción de los objetos del dominio y su
reutilización.

Componentes genéricos

Se trata de desarrollar un modelo del mundo real, dejando los detalles para más
adelante. Se distingue entre componentes estáticos (que no cambian durante la
vida de la aplicación) y componentes dinámicos (que se centran en el control y
dependen del tiempo y de los sucesos).

Vista estática de clases, las que persisten a lo largo de toda la vida de la


aplicación.

Vista estática de atributos, para definir las clases anteriores.

4
Vista estática de relaciones, para definir las conexiones e interacciones entre los
objetos anteriores.

Vista estática de comportamientos, consiste fundamentalmente en un modelo de


casos de uso que define una secuencia de operaciones genérica.

Vista dinámica de comunicación, define la comunicación dinámica entre objetos


definiendo los mensajes que producen transiciones de un estado a otro.

Vista dinámica de control y tiempos, describe el tipo y duración de los sucesos que
provocan la transición de estados entre ellos.”

Diseño de sistemas orientados a objetos

“Hay muchos paradigmas de programación que utilizan las empresas de desarrollo


de software. Uno de los más populares y duraderos ha sido el diseño orientado a
objetos. Este patrón es tan popular porque imita mejor la vida real para muchos
escenarios y conduce a un software limpio y comprensible.

Diseño orientado a objetos: imitando el mundo físico

El diseño orientado a objetos es una de las principales formas de diseñar software


porque imita la vida real. En el software, un objeto puede tener varias propiedades
y realizar tareas. Por ejemplo, un objeto de automóvil puede tener las propiedades
“color”, “marca” y “modelo”. Puede tener funciones como “acelerar” o “frenar”.

Usar estos bloques de construcción como patrones de diseño significa crear


modelos de entidades en el mundo físico. Un usuario puede tener una foto de
perfil, un nombre de usuario, una contraseña y más. También hay publicaciones
que tienen títulos, cuerpos e imágenes. Además, un sitio tiene páginas que tienen
otras propiedades.

Con este diseño, las relaciones entre los objetos, y cómo interactúan entre sí,
también se vuelven evidentes. Un usuario puede crear una publicación de blog y
puede crear una página; una página puede enlazar a una publicación de blog y
viceversa. De hecho, este patrón de diseño permite a los desarrolladores pensar
en un sistema como una serie de objetos y cómo interactúan entre sí.”

5
Responde con base a tu investigación las siguientes preguntas:

¿Cuáles son las ventajas de la utilización de una metodología de diseño


orientada a objetos?

“POO ofrece varias ventajas tanto para el diseñador del programa como para el
usuario. La orientación a objetos contribuye a la solución de muchos problemas
asociados con el desarrollo y la calidad de los productos software. La nueva
tecnología promete mayor productividad del programador, mejor calidad de
software y menor costo de mantenimiento.

Las principales ventajas son:

Por medio de la herencia, podemos eliminar código redundante y extender el uso


de clases existentes.

Podemos construir programas a partir de módulos de trabajo estándar que se


comunican entre sí, en lugar de tener que empezar desde cero la escritura del
código. Esto conduce a un ahorro en el tiempo de desarrollo y a una productividad
mayor.

El principio de ocultación de los datos ayuda al programador a construir programas


seguros que no pueden ser invadidos por código de otras partes del programa.

Es posible tener múltiples copias de un objeto que coexisten sin ninguna


interferencia.

Es posible transformar objetos del dominio del problema a otros en los programas.

Es fácil dividir el trabajo de un proyecto basado en objetos.

El enfoque del diseño centrado en los datos nos permite capturar más detalles de
un modelo de forma que se puedan implementar.

Se pueden mejorar y actualizar fácilmente los sistemas orientados a objetos desde


los pequeños hasta los grandes sistemas.

Las técnicas de pase de mensajes para la comunicación entre objetos simplifican


mucho las descripciones de las interfaces con sistemas externos.
6
Se puede gestionar fácilmente la complejidad del software.”

¿Consideras que todas las cosas del mundo real pueden ser modeladas a
través de Clases y Objetos?

“El diseño orientado a objetos es una de las principales formas de diseñar


software porque imita la vida real. En el software, un objeto puede tener varias
propiedades y realizar tareas. Por ejemplo, un objeto de automóvil puede tener las
propiedades “color”, “marca” y “modelo”. Puede tener funciones como “acelerar” o
“frenar”.

El contexto del Enfoque Orientado a Objetos (EOO) un objeto es una entidad que
encapsula datos (atributos) y acciones o funciones que los manejan (métodos).
También para el EOO un objeto se define como una instancia o particularización
de una clase.

Los objetos de interés durante el desarrollo de software no sólo son tomados de la


vida real (objetos visibles o tangibles), también pueden ser abstractos. En general
son entidades que juegan un rol bien definido en el dominio del problema. Un libro,
una persona, un carro, un polígono son apenas algunos ejemplos de objeto. Cada
objeto puede ser considerado como un proveedor de servicios utilizados por otros
objetos que son sus clientes. Cada objeto puede ser a la vez proveedor y cliente.
De allí que un programa pueda ser visto como un conjunto de relaciones entre
proveedores clientes. Los servicios ofrecidos por los objetos son de dos tipos:

Los datos, que llamamos atributos.

Las acciones o funciones, que llamamos métodos.”

Fundamentos del Enfoque Orientado a Objeto

“El Enfoque Orientado a Objeto se basa en cuatro principios que constituyen la


base de todo desarrollo orientado a objetos. Estos principios son: la Abstracción,
el Encapsulamiento, la Modularidad y la Herencia. Otros elementos para destacar
(aunque no fundamentales) en el EOO son: Polimorfismo, Enlace dinámico (o
binding), Concurrencia y Persistencia.”

7
¿Cómo se diseña el modelo de una aplicación orientada a objetos?

“Consiste en hacer clases y crear objetos a partir de estas clases. Las clases
forman el modelo a partir del que se estructuran los datos y los comportamientos.

El primer y más importante concepto de la POO es la distinción entre clase y


objeto.

Una clase es una plantilla. Define de manera genérica cómo van a ser los objetos
de un determinado tipo. Por ejemplo, una clase para representar a animales puede
llamarse ‘animal’ y tener una serie de atributos, como ‘nombre’ o ‘edad’ (que
normalmente son propiedades), y una serie con los comportamientos que estos
pueden tener, como caminar o comer, y que a su vez se implementan como
métodos de la clase (funciones). Un ejemplo sencillo de un objeto, podría ser un
animal. Un animal tiene una edad, por lo que creamos un nuevo atributo de ‘edad’
y, además, puede envejecer, por lo que definimos un nuevo método. Datos y
lógica. Esto es lo que se define en muchos programas como la definición de una
clase, que es la definición global y genérica de muchos objetos.

8
Fuentes de consulta:
Blog spot. (2013). Análisis orientado a objetos (AOO)... 18/11/22, de blogspot.com.
Sitio web:https://analisisyprogramacionoop.blogspot.com/2013/04/analisis-
orientado-objetos-aoo.html
Cidecame. (S.F). Ventajas de la POO. 18/11/22, de cidecame.uaeh.edu.mx. Sitio
web:http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro15/121_ventaj
as_de_la_poo.html
Martínez Canelo Miriam. (2020). ¿Qué es la Programación Orientada a Objetos?
18/11/22, de profile.es. Sitio web:https://profile.es/blog/que-es-la-
programacion-orientada-a-objetos/
NEISHA SANTIAGO. (2020). ¿Qué es el diseño orientado a objetos y cómo puede
crear un gran software? 18/11/22, de invidgroup.com. Sitio web:
https://invidgroup.com/es/que-es-el-diseno-orientado-a-objetos-y-como-
puede-crear-un-gran-software/
Sites. Google. (S.F). Paradigmas de la Ingeniería de Software. 18/11/22, de
sites.google.com. Sitio
web:https://sites.google.com/site/paradigmasdelais/4-2-el-enfoque-
orientado-a-objetos

También podría gustarte