Planteamiento del problema
Una biblioteca desea incorporar sus
servicios en un sistema de software automatizado, que incluya los procesos de:
- § Préstamo de libros
- § Administración de usuarios
- § Administración de préstamos de libros
- § Búsquedas en el catálogo electrónico y
- § Renovación de suscripción.
El funcionamiento requerido del sistema
es el siguiente:
Bibliotecario y Préstamo
Para poder realizar un préstamo es
necesario que el bibliotecario autentifique al usuario y al libro. Si el
usuario tiene vigente su suscripción se procede a realizar el préstamo y el
libro se marca como prestado en el catálogo, se agrega a la lista de préstamos
y se le asignan fechas de préstamo, entrega y renovación.
Si el usuario no ha renovado su
suscripción, no se realiza el préstamo y es necesario que el usuario renueve su
suscripción para tener acceso a préstamos de libros.
El bibliotecario también renueva
préstamos, hace el proceso de los libros devueltos, de libros extraviados y
administra la información del usuario para renovar su suscripción.
Catalogador y los libros
Procesa los libros, agrega un nuevo
registro al catálogo en línea o una copia a un registro existente. También
puede buscar ese libro en el catálogo; ya sea por nombre, materia, título o
número de registro del libro para ver su información completa.
Administrador
Solicita un listado de todos los libros cuyo plazo de préstamo ha vencido
por más del mínimo de días establecido. Envía notificaciones
sobre vencimiento de préstamos.
Usuario
El usuario puede buscar, reservar, renovar y administrar su información a través del sitio Web del Online Public Access Catalog (OPAC), libros, publicaciones periódicas, materiales audiovisuales.
Introducción
Los métodos de diseño orientado a objetos han evolucionado
para ayudar a los desarrolladores a explotar el poder de los lenguajes de
programación basados en objetos y orientados a objetos, utilizando las clases y
objetos como bloques de construcción básicos.
Actualmente el modelo de objetos ha sido influenciado por un
número de factores no sólo de la Programación Orientada a Objetos, POO (Object Oriented Programming, OOP por
sus siglas en inglés). Además, el modelo de objetos ha probado ser un concepto
uniforme en las ciencias de la computación, aplicable no sólo a los lenguajes
de programación sino también al diseño de interfaces de usuario, bases de datos
y arquitectura de computadoras por completo. La razón de ello es, simplemente,
que una orientación a objetos nos ayuda a hacer frente a la inherente
complejidad de muchos tipos de sistemas.
Un objetivo fundamental de las
técnicas orientadas a objetos es lograr la reutilización masiva al construir el
software.
Ventajas
de la metodología orientada a objetos
En síntesis, algunas ventajas que presenta
son:
- Reutilización.
- Estabilidad.
- El diseñador piensa en términos del
comportamiento de objetos y no en detalles de bajo nivel.
- Se construyen clases cada vez más complejas.
- Calidad.
- Un diseño más rápido.
- Integridad.
- Mantenimiento más sencillo.
- Una interfaz de pantalla sugestiva para el
usuario.
- Independencia del diseño.
- Interacción.
Casos de uso
Un caso de uso
es una descripción de un conjunto de secuencias de acciones, incluyendo algunas
variantes que ejecuta un sistema para producir un resultado de valor para un
actor. Cada caso de uso debe tener su nombre que lo distinga de los demás casos
de uso.
El actor
representa un conjunto coherente de roles que los usuarios de los casos de uso
juegan al interactuar con éstos. Un actor puede representar un rol que es
jugado por una persona, un dispositivo hardware e incluso otro sistema.
Los casos de uso
pueden organizarse especificando relaciones de generalización, inclusión y
extensión entre ellos.
La
generalización significa que el caso de uso hijo hereda el comportamiento y
significado del caso de uso padre.
Una relación de
inclusión significa que un caso de uso base incorpora explícitamente el
comportamiento de otro caso de uso en el lugar especificado en el caso base.
Este caso de uso nunca se encuentra aislado, sino que es instanciado solo como
parte de algún caso de uso base más amplia que lo incluye.
Una relación
extendida se utiliza para modelar la parte de un caso de uso que el usuario
puede ver como comportamiento opcional del sistema. De esta forma se separa el
comportamiento opcional del obligatorio.
Plantillas
Diagramas
Administrador
BibliotecarioCatalogador
Modelado de la base de datos
Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.
El diseño de una base de datos es un proceso complejo que abarca decisiones a muy distintos niveles. La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de estos subproblemas independientemente, utilizando técnicas específicas. Así, el diseño de una base de datos se descompone en diseño conceptual, diseño lógico y diseño físico.
Son abstracciones que permiten la implementación de un sistema de base de datos en un proceso complejo que contienen decisiones en muchos distintos niveles, si se descompone el problema en sub problemas esto se resuelve independientemente, utilizando técnicas especificas. Así serán los siguientes modelos (Conceptual, Lógico, Físico).
Diagrama de clases
Son los diagramas más comunes en el modelado de sistemas orientados a objetos.
Un diagrama de clase muestra un conjunto de clases, interfaces, y colaboraciones y sus relaciones entre ellos.
Los diagramas de clase se usan en el diseño del modelo estático para ver un sistema. Para las demás partes, este modelado involucra el vocabulario del sistema, el modelado de colaboraciones, o modelado de esquemas. Los diagramas de clase son también la base para un par de diagramas relacionados: Diagramas de Componente y Diagramas de Instalación(Deployment).
Los diagramas de clase son importantes no solo para la visualización, especificación y documentación del modelo estructural, pero también para la construcción de sistemas ejecutables. Ingeniería hacia adelante e ingeniería inversa.
La construcción de software tiene muchas características similares, excepto, que la calidad(Fluidez) de software, uno tiene la habilidad de definir la construcción de bloques básicos para ir detallando(scratch).
Diagrama de secuencias
El Diagrama de Secuencia es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia se modela para cada caso de uso. Mientras que el diagrama de caso de uso permite el modelado de una vista 'business' del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes pasados entre los objetos.
Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como vectores horizontales. Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria.
Consluiones
Conclusión Itzel
Su principal ventaja es que reutiliza el código ya que está basada en
componentes.
La idea principal
es saber qué tipos de datos hay que utilizar, así como sus características y
cómo es que se relacionan. Trata de abstraer objetos del mundo real para
modelarlos y enfoca su atención en la estructura de los datos. El diseñador piensa en términos del
comportamiento de objetos y no en detalles de bajo nivel, esto lo logra
mediante el encapsulamiento. Su mantenimiento
es más sencillo ya que el programador encargado del mantenimiento cambia
un método de clase a la vez y cada clase efectúa sus funciones
independientemente de las demás.
Conclusión Mitchel
La metodología
orientada a objetos nos ofrece la ventaja de que trata de modelar el problema
que se desea atacar a través de una abstracción que caracteriza a este
paradigma de programación. Nos da las ventajas de que los atributos del objeto
que se desea modelar se protegen a través del encapsulamiento, de tal forma que
se tiene un control más severo sobre la manipulación de la clase.
Conclusión Alan
Las metodologías Orientadas a Objetos gracias a la modularidad con la que
atacan los sistemas, nos ayudan a disminuir la complejidad que en ocasiones
muchos de ellos pueden presentarnos. Pues permiten la manipulación de objetos
de manera organizada usando técnicas de notación ya definidas, proporcionando así
mayor calidad en nuestro sistema. UML nos permite documentar, modelar y
construir. Su notación ya definida y las herramientas CASE nos ayudan a hacer
esto de manera aún más sencilla.
No hay comentarios:
Publicar un comentario