Está en la página 1de 17

TECNOLÓIGICO NACIONAL DE MÉXICO

CAMPUS VILLAHERMOSA

DOCENTE
DULCE MARIA LEON DE LA O

ASIGNATURA

Desarrollo Implementación SW

TAREA
TAREA 1.PROGRAMACIÓN DEL MODELO DE DATOS
CREACIÓN DE LA BASE DE DATOS

PRESENTA:

1. HERNANDEZ ALPCUHE ANDRES MANUEL


2. HERNANDEZ PEREZ ANGEL NICOLAS
3. MORALES LOPEZ JORGE EMANUEL
4. RIVERA DIAZ VICTOR
Contenido
Conceptos de la metodología orientada a objetos ............................... 3
Ventajas de la metodología orientada a objetos .................................. 5
Métodos Y Herramientas Orientadas A Objetos Para Modelar Software
............................................................................................................ 8
Creación de la base de datos de PETAPP .......... “ La aplicación de tu
mascota” 10
Conclusiones ......................................................................................15
Conceptos de la metodología orientada a objetos
La metodología orientada a objetos (MOO) es una forma de abordar el
diseño y desarrollo de software en la que se enfatiza la utilización de
objetos y sus interacciones para modelar el mundo real y solucionar
problemas complejos de manera modular y escalable. Algunos de los
conceptos fundamentales de la MOO son:
• Objeto: es una entidad que representa un concepto o elemento
del mundo real, con sus propias características y
comportamientos. Los objetos pueden interactuar entre sí y
comunicarse a través de métodos.
• Clase: es una plantilla o molde que define las características y
comportamientos comunes a un conjunto de objetos. Las clases
son la base para crear instancias de objetos.
• Herencia: es un mecanismo que permite que una clase herede
características y comportamientos de otra clase. La clase que
hereda se llama subclase y la clase de la que se hereda se llama
superclase.
• Polimorfismo: es la capacidad de objetos de diferentes clases de
responder a un mismo mensaje de diferentes maneras. Es decir,
un objeto puede tener múltiples formas o comportamientos
dependiendo del contexto.
• Encapsulamiento: es un principio de diseño que consiste en
ocultar los detalles internos de un objeto y exponer solo una
interfaz pública para interactuar con él. Esto permite que los
objetos puedan cambiar su implementación sin afectar a otros
objetos que dependen de ellos.
• Abstracción: es el proceso de identificar las características
esenciales de un objeto y representarlas de forma simplificada.
Las clases y objetos se construyen a partir de abstracciones que
simplifican el mundo real para su uso en software.
• Mensaje: es una solicitud de acción que un objeto envía a otro
objeto para que realice una tarea específica. Los mensajes se
definen mediante métodos y son la forma en que los objetos se
comunican entre sí.

• Estos son solo algunos de los conceptos clave de la MOO, que


son fundamentales para el diseño y desarrollo de software
orientado a objetos.
Ventajas de la metodología orientada a objetos
En síntesis, algunas ventajas que presenta son:
Reutilización. Las clases están diseñadas para que se reutilicen en
muchos sistemas. Para maximizar la reutilización, las clases se
construyen de manera que se puedan adaptar a los otros sistemas. Un
objetivo fundamental de las técnicas orientadas a objetos es lograr la
reutilización masiva al construir el software.
Estabilidad. Las clases diseñadas para una reutilización repetida se
vuelven estables, de la misma manera que los microprocesadores y
otros chips se hacen estables.
El diseñador piensa en términos del comportamiento de objetos y no
en detalles de bajo nivel. El encapsulamiento oculta los detalles y hace
que las clases complejas sean fáciles de utilizar.
Se construyen clases cada vez más complejas. Se construyen clases
a partir de otras clases, las cuales a su vez se integran mediante
clases. Esto permite construir componentes de software complejos,
que a su vez se convierten en bloques de construcción de software
más complejo.
Calidad. Los diseños suelen tener mayor calidad, puesto que se
integran a partir de componentes probados, que han sido verificados y
pulidos varias veces.
Un diseño más rápido. Las aplicaciones se crean a partir de
componentes ya existentes. Muchos de los componentes están
construidos de modo que se pueden adaptar para un diseño particular.
Integridad. Las estructuras de datos (los objetos) sólo se pueden
utilizar con métodos específicos. Esto tiene particular importancia en
los sistemas cliente-servidor y los sistemas distribuidos, en los que
usuarios desconocidos podrían intentar el acceso al sistema.
Mantenimiento más sencillo. El programador encargado del
mantenimiento cambia un método de clase a la vez. Cada clase
efectúa sus funciones independientemente de las demás.
Una interfaz de pantalla sugestiva para el usuario. Hay que utilizar una
interfaz de usuario gráfica de modo que el usuario apunte a iconos o
elementos de un menú desplegado, relacionados con los objetos. En
determinadas ocasiones, el usuario puede ver un objeto en la pantalla.
Ver y apuntar es más fácil que recordar y escribir.
Independencia del diseño. Las clases están diseñadas para ser
independientes del ambiente de plataformas, hardware y software.
Utilizan solicitudes y respuestas con formato estándar. Esto les
permite ser utilizadas en múltiples sistemas operativos, controladores
de bases de datos, controladores de red, interfaces de usuario
gráficas, etc. El creador del software no tiene que preocuparse por el
ambiente o esperar a que éste se especifique.
Interacción. El software de varios proveedores puede funcionar como
conjunto. Un proveedor utiliza clases de otros. Existe una forma
estándar de localizar clases e interactuar con ellas. El software
desarrollado de manera independiente en lugares ajenos debe poder
funcionar en forma conjunta y aparecer como una sola unidad ante el
usuario.
Computación Cliente-Servidor. En los sistemas cliente-servidor, las
clases en el software cliente deben enviar solicitudes a las clases en el
software servidor y recibir respuestas. Una clase servidor puede ser
utilizada por clientes diferentes. Estos clientes sólo pueden tener
acceso a los datos del servidor a través de los métodos de la clase.
Por lo tanto los datos están protegidos contra su corrupción.
Computación de distribución masiva. Las redes a nivel mundial
utilizarán directorios de software de objetos accesibles. El diseño
orientado a objetos es la clave para la computación de distribución
masiva. Las clases de una máquina interactúan con las de algún otro
lugar sin saber donde residen tales clases. Ellas reciben y envían
mensajes orientados a objetos en formato estándar.
Mayor nivel de automatización de las bases de datos. Las estructuras
de datos (los objetos) en las bases de datos orientadas a objetos
están ligadas a métodos que llevan a cabo acciones automáticas. Una
base de datos OO tiene integrada una inteligencia, en forma de
métodos, en tanto que una base de datos relacional básica carece de
ello.
Migración. Las aplicaciones ya existentes, sean orientadas a objetos o
no, pueden preservarse si se ajustan a un contenedor orientado a
objetos, de modo que la comunicación con ella sea a través de
mensajes estándar orientados a objetos.
Mejores herramientas CASE. Las herramientas CASE (Computer
Aided Software Engineering, Ingeniería de Software Asistida por
Computadora) utilizarán las técnicas gráficas para el diseño de las
clases y de la interacción entre ellas, para el uso de los objetos
existentes adaptados a nuevas aplicaciones. Las herramientas deben
facilitar el modelado en términos de eventos, formas de activación,
estados de objetos, etc. Las herramientas OO del CASE deben
generar un código tan pronto se definan las clases y permitir al
diseñador utilizar y probar los métodos recién creados. Las
herramientas se deben diseñar de manera que apoyen el máximo de
creatividad y una continua afinación del diseño durante la
construcción.
Métodos Y Herramientas Orientadas A Objetos Para Modelar
Software
Existen diferentes métodos y herramientas orientadas a objetos para
modelar software. Algunas de las más comunes son:
1. UML (Lenguaje de Modelado Unificado): es una herramienta que
permite modelar sistemas software de manera visual y orientada
a objetos. UML proporciona diferentes diagramas para
representar distintos aspectos de un sistema, como el diagrama
de clases, el diagrama de secuencia, el diagrama de estados,
entre otros.
2. Patrones de diseño: son soluciones a problemas comunes que
se presentan en el diseño de software orientado a objetos. Los
patrones de diseño permiten diseñar sistemas más flexibles,
reutilizables y mantenibles.
3. Refactorización: es un proceso que consiste en mejorar el diseño
de un sistema de software sin cambiar su funcionalidad. La
refactorización se aplica a través de pequeñas modificaciones al
código que mejoran su calidad y estructura.
4. Pruebas unitarias: son pruebas que se realizan a pequeñas
unidades de código para verificar que funcionan correctamente.
Las pruebas unitarias permiten detectar errores en el código y
corregirlos antes de que se propaguen a otras partes del
sistema.
5. Desarrollo guiado por pruebas (TDD): es una metodología que
consiste en escribir las pruebas unitarias antes de escribir el
código. El TDD ayuda a diseñar sistemas más modulares,
flexibles y mantenibles.
6. Programación orientada a aspectos (AOP): es una técnica que
permite separar las sospechas transversales de un sistema de
software, como la gestión de transacciones o la seguridad, del
código que implementa la funcionalidad del sistema. La AOP
permite mejorar el modularidad y la reutilización del código.
Estas son solo algunas de las herramientas y técnicas orientadas a
objetos que se pueden utilizar para modelar software. La elección de
la herramienta o técnica será del tipo de sistema que se está
diseñando y de las específicas del proyecto.
Creación de la base de datos de PETAPP
“ La aplicación de tu mascota”

El desarrollo de la app necesita una base de datos donde pueda


guardar y escribir archivos importantes sobre las mascotas, este con el
fin de obtener los datos necesarios para poder ingresarlos y darle la
información mas concreta, además que de este mismo, crear un
apartado de citas veterinarias para agendar cuando se necesite e
implementando, modo de cuidado, dietas, datos e información.
Como punto de partida planteamos lo siguiente:

Tenemos como principales las 10 tablas, cada una con su función de


guardar y mostrar información.
En la creación de las tablas tenemos lo que es la tabla registro, esta
tabla hace la función de ingresar los datos del dueño, tipo de mascota
(Si es perro o gato) y el registro del mismo, que es el nombre y sus
datos.
Una vez que escoja se relaciona con la tabla de información de la
mascota, ya que este registra todos los datos que se necesita.

Aquí se nos muestra la información de


la mascota cuando se registra, el
usuario ingresaría los datos para que
queden guardados en la base de datos.
Se nos presentan los datos como, el
nombre, raza, edad, fecha de
nacimiento, peso, sexo, vacunas, dietas,
etc.

Una de las tareas principales de la aplicación es tener la información


de las macotas, además de brindar atención medica veterinaria y
creamos el apartado de citas, a donde el usuario agendar la cita para
su mascota y acordar en una clínica cercana, y agendar con un
veterinario una cita.
Esta tabla se relaciona con la tabla de veterinarios, esta tiene la tarea
de brindar toda la información acerca de ellos para que el usuario
tenga la información para agendar las citas.

Se nos muestran las tablas principales de nuestra base que son las de
perros y gatos, ya que están tienen la información principal de cada
uno de ellos.
También, para usuarios que por primera vez tienen mascotas tenemos
las 10 razas de perros y gatos, explicando de sus razas y sus
cuidados, para que tengan una idea de como cuidarlos de manera
correcta

De esta manera se muestran los datos guardados, la informacion que


esta aca son de las 10 mascotas mas influyentes en el estado que las
personas tienen en casa.
De igual manera de los gatos se muestran los 10 raza de gatos que
existen en casa. Los datos obtenidos de este fue por medio de
encuestas
Conclusiones

De esta manera quedo nuestra base de datos, para la aplicación de


petapp. Y con base a lo investigado, aplicamos la creacion de base de
datos. Y teniendo en cuenta las investigaciones, nos ayuda para el
modelaldo de nuestra app y de la base de datos.
existen varias herramientas y técnicas orientadas a objetos disponibles
para modelar software, cada una con su enfoque específico y
beneficios. UML es una herramienta popular para visualizar sistemas,
mientras que los patrones de diseño y la refactorización se utilizan
para mejorar la calidad del diseño. Las pruebas unitarias y el TDD se
enfocan en garantizar la calidad del código y la modularidad, y la
programación orientada a aspectos permite separar las
preocupaciones transversales del sistema del código que implementa
su funcionalidad. Es importante elegir la herramienta o técnica
adecuada según las necesidades específicas del proyecto y el tipo de
sistema que se está diseñando.
Bibliografia

• Fowler, M. (2003). UML Destilado: Una Guía Breve del Lenguaje


Estándar de Modelado de Objetos. Addison-Wesley
Professional.
• Gamma, E., Helm, R., Johnson, R., y Vlissides, J. (1994).
Patrones de Diseño: Elementos de Software Orientado a Objetos
Reutilizable. Addison-Wesley Professional.
• Fowler, M. (2018). Refactoring: Mejorando el Diseño de Código
Existente. Addison-Wesley Professional.
• Beck, K. (2003). Desarrollo Dirigido por Pruebas: Por Ejemplo.
Addison-Wesley Professional.
• Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C.
V., y Loingtier, J. M. (1997). Programación Orientada a Aspectos.
Actas de la Conferencia Europea sobre Programación Orientada
a Objetos (ECOOP), 220-242.
• Larman, C. (2004). Aplicando UML y Patrones: Una Introducción
al Análisis y Diseño Orientado a Objetos y al Desarrollo Iterativo.
Pearson Education.

También podría gustarte