Para hacer este diagrama de clases utilizamos el software Umbrello.
Blog creado principalmente para subir cosas referentes a las materias de POO y Taller de POO
jueves, 8 de septiembre de 2011
Ejercicio 3 - Caso biblioteca.
La universidad X tiene un sistema de información que le maneja el catálogo de biblioteca y los préstamos.
El usuario ingresa con un nombre (matrícula, # de nómina) y contraseña (nip asignado por biblioteca).
Puede buscar dentro del catálogo aquellos libros que le interesan; se le despliegan los datos bibliográficos (incluida imagen).
También se puede sacar los libros prestados
Casos de uso.
U1: Alumno de licenciatura.
U2: Alumno de maestría.
U3: Alumno de doctorado.
U4: Maestro.
Clases.
Usuario.
Atributos: Nombre, contraseña, tipo de usuario.
Métodos: Ingresar al sistema, Ver catálogo, Pedir libro, Salir del sistema.
Libro.
Atributos: Número de libros, Imagen, Tamaño del libro, Disponibilidad.
Métodos: Ver disponibilidad, Ver bibliografía, Consultar.
Préstamo:
Atributos: Préstamo interno, Préstamo externo, Tiempo del préstamo.
Métodos: Aceptar el préstamo, Ver tiempo, Regresar libro.
Catálogo.
Atributos: Tamaño del catálogo, Idioma.
Métodos: Buscar libro, Ver información del libro, Seleccionar idioma.
Relaciones de herencia.
Usuario.
El usuario ingresa con un nombre (matrícula, # de nómina) y contraseña (nip asignado por biblioteca).
Puede buscar dentro del catálogo aquellos libros que le interesan; se le despliegan los datos bibliográficos (incluida imagen).
- Considerar que el libro no siempre está disponible: prestado, en reparación, en encuadernación, apartado, etc.
También se puede sacar los libros prestados
- Siempre y cuando el usuario no tenga muchas multas.
- Si los libros son de consulta, no se pueden sacar.
- El tiempo de préstamo es diferente si se trata de un alumno de licenciatura, maestría, doctorado o un maestro.
Casos de uso.
U1: Alumno de licenciatura.
U2: Alumno de maestría.
U3: Alumno de doctorado.
U4: Maestro.
Nombre del caso | Actor involucrado | Descripción | Casos de uso involucrados |
Ingresar al sistema | U1, U2, U3, U4 | El usuario mediante la introducción de una matrícula o número de nómina y una contraseña ingresa al sistema | |
Ver catálogo | U1, U2, U3, U4 | Una vez dentro del sistema el usuario podrá ver el contenido del catálogo | |
Buscar libro | U1, U2, U3, U4 | El usuario introduce los datos del libro a buscar | Ver catálogo |
Ver bibliografía | U1, U2, U3, U4 | El usuario podrá ver datos como: nombre del libro, autor, edición, editorial, número de páginas, etc. | Ver catálogo |
Ver imagen | U1, U2, U3, U4 | El usuario verá la imagen del libro (si ésta existe). | Ver catálogo |
Ver disponibilidad | U1, U2, U3, U4 | El usuario podrá ver si el libro está: prestado, en reparación, apartado, etc. | Ver catálogo |
Pedir prestado | U1, U2, U3, U4 | El usuario pide el libro para consulta externa (siempre y cuando este disponible). | Ver disponibilidad |
Actualizar estado del libro | Administrador | El administrador actualiza el estado del libro cada vez que éste no se encuentre disponible. | Ver disponibilidad |
Salir del sistema | U1, U2, U3, U4 | El usuario después de checar el libro, sale del sistema. | |
Clases.
Usuario.
Atributos: Nombre, contraseña, tipo de usuario.
Métodos: Ingresar al sistema, Ver catálogo, Pedir libro, Salir del sistema.
Libro.
Atributos: Número de libros, Imagen, Tamaño del libro, Disponibilidad.
Métodos: Ver disponibilidad, Ver bibliografía, Consultar.
Préstamo:
Atributos: Préstamo interno, Préstamo externo, Tiempo del préstamo.
Métodos: Aceptar el préstamo, Ver tiempo, Regresar libro.
Catálogo.
Atributos: Tamaño del catálogo, Idioma.
Métodos: Buscar libro, Ver información del libro, Seleccionar idioma.
Relaciones de herencia.
Usuario.
- Alumno
- Licenciatura (U1).
- Maestría (U2).
- Doctorado (U3).
- Empleado.
- Maestro (U4).
Préstamo.
- Interno.
- Licenciatura.
- Maestría.
- Doctorado.
- Maestro.
- Externo.
- Licenciatura.
- Maestría.
- Doctorado.
- Maestro.
Ejercicio 2 - Conceptos.
UML.
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad, es un lenguaje de modelado para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir.
OOP.
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basado en varias técnicas:
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad, es un lenguaje de modelado para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir.
OOP.
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basado en varias técnicas:
- Herencia.
- Abstracción.
- Polimorfismo.
- Encapsulamiento.
OOSAD.
Object - Oriented Systems Analysis and Design, modela un sistema mediante un grupo de objetos interactivos. Cada objeto representa una entidad de interés en el sistema y que se caracteriza pos su clase, estado (elementos de datos) y su comportamiento.
OMG.
El Grupo de Gestión de Objetos (de sus siglas en ingles, Object Management Group), es un consorcio dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos, tales como UML, XMI, CORBA. Es una organización sin ánimo de lucro que promueve el uso de tecnología orientada a objetos mediante guías y especificaciones para las mismas. El grupo está formado por diversas compañias y organizaciones con distintos privilegios dentro de la misma.
Algunos miembros:
- HSBC.
- IBM.
- Microsoft Corporation.
- Eclipse Foundation.
OOSE.
Object-Oriented Software Engineering (OOSE), es una técnica de diseño software que se utiliza en el diseño de software de programación orientada a objetos. OOSE es desarrollado por Ivar Jacobson en 1992. OOSE es la primera metodología orientada a objetos de diseño que emplea a los casos de uso en el diseño de software.OOSE es uno de los precursores del Lenguaje de Modelado Unificado (UML), comoBooch y OMT. Se incluyen los requerimientos, el análisis, el diseño, implementación y un modelo de prueba.
Referencias:
Ejercicio 1 - Relaciones de herencia.
SIASE
Usuario.
Usuario.
- Alumno.
- Maestro.
Encuestas.
- DEL.
- Verano.
Formatos de pago.
- Cuota interna.
- Cuota rectoría.
Inscripción.
- Ordinario.
- Laboratorio.
- Posgrado.
martes, 6 de septiembre de 2011
Ejercicios - Tutorial SQL
En la sesión del día de hoy en el Taller de POO vimos un pequeño tutorial de SQL, hecho por la Dra. Sara Elena Garza Villarreal, en el cual aprendimos el esqueleto básico de una consulta, así como la consulta a múltiples tablas. Para ver los ejemplos y ejercicios, y verificar que estuvieran correctos, consultamos la siguiente página: http://www.w3schools.com/sql/sql_tryit.asp
Ahora veremos algo de lo que venia en el tutorial.
Esqueleto básico de Consulta:
SELECT [campos]
FROM [tablas]
WHERE [condiciones]
Ejercicios (parte 1).
El operador LIKE se utiliza en una sentencia WHERE para buscar un patrón específico en una columna.
La sentencia ORDER BY, se utiliza para ordenar el conjunto de resultados de una columna especificada. La sentencia por defecto ordena los resultados de manera ascendente, si se desea ordenar los resultados de manera descendente se debe de poner la palabra DESC.
Los datos a utilizar en este ejercicio son los de CompanyName y ContactName, al tabla a usar es la de Customersy mediante la sentencia ORDER BY los datos de CompanyName aparecerán ordenados de manera ascendente.
El asterisco significa que escogerá todos los campos, por lo tanto nos devolverá toda la tabla como resultado.
Aquí los datos que nos mostrará son los de CompanyName y los de ContactName.
Este ejercicio es parecido al anterior, únicamente que aquí como resultado nos mostrara los nombres de la compañía de la letra "g" hacia arriba, y el operador AND indica que esa condición se cumplirá siempre y cuando la primera condición se cumpla, en este caso la segunda condición es que nos muestre el nombre de contacto de la letra "g" hacia arriba.
Ejercicios (parte 2).
Referencias:
http://www.w3schools.com/sql/sql_quickref.asp
http://www.canalvisualbasic.net/manual/sql/
https://sites.google.com/site/saraegarza/poo
Ahora veremos algo de lo que venia en el tutorial.
Esqueleto básico de Consulta:
SELECT [campos]
FROM [tablas]
WHERE [condiciones]
- La sentencia SELECT se utiliza para seleccionar datos de una base de datos.
- La sentencia FROM (desde) hace referencia a la tabla que vamos a usar.
- La sentencia WHERE se utiliza para sólo aquellos registros que cumplan un criterio determinado.
Ejercicios (parte 1).
Ejercicio A.
Genera el siguiente resultado:
SELECT City, CompanyName
FROM Customers
WHERE City LIKE 'Ber%'
Los datos a utilizar en este ejercicio son los de City y los de CompanyName, la tabla a utilizar es la de Customers, y el criterio que quiero que se cumpla, es que me muestre únicamente las ciudades que inicien con "Ber".
Ejercicio B.
Genera el siguiente resultado:
SELECT CompanyName, ContactName
FROM Customers
ORDER BY CompanyName
La sentencia ORDER BY, se utiliza para ordenar el conjunto de resultados de una columna especificada. La sentencia por defecto ordena los resultados de manera ascendente, si se desea ordenar los resultados de manera descendente se debe de poner la palabra DESC.
Los datos a utilizar en este ejercicio son los de CompanyName y ContactName, al tabla a usar es la de Customersy mediante la sentencia ORDER BY los datos de CompanyName aparecerán ordenados de manera ascendente.
Ejercicio C.
Genera el siguiente resultado:
SELECT COUNT (City)
FROM Customers
WHERE City LIKE 'p%'
La función COUNT() devuelve el número de filas que coincida con un criterio en especifico.
Los datos a utiliza en este ejercicio son los de City, la tabla a utilizar es la de Customers, el criterio que quiero que se cumpla es que únicamente me muestre las ciudades que inicien con "p"
Ejercicio D.
Prueba las consultas que vienen en la página de prueba. En este caso ya viene escrito el esqueleto de consulta, lo único que haremos es que nos muestre la pantalla con el resultado.
SELECT *
FROM customers
El asterisco significa que escogerá todos los campos, por lo tanto nos devolverá toda la tabla como resultado.
SELECT CompanyName, ContactName
FROM customers
Aquí los datos que nos mostrará son los de CompanyName y los de ContactName.
SELECT *
FROM customers
WHERE companyname LIKE 'a%'
En este caso seleccionará todos los campos, utilizara la tabla Customers, el criterio que debe de cumplir es que me muestre los nombres de todas las compañías que inicien con "a".
SELECT CompanyName, ContactName
FROM customers
WHERE CompanyName > 'a'
En este ejemplo, los datos que vamos a utilizar son los de CompanyName y ContactName, de la tabla de Customers, pero únicamente se mostraran los resultados de la letra "a" hacia arriba.
SELECT CompanyName, ContactName
FROM customers
WHERE CompanyName > 'g'
AND ContactName > 'g'
Este ejercicio es parecido al anterior, únicamente que aquí como resultado nos mostrara los nombres de la compañía de la letra "g" hacia arriba, y el operador AND indica que esa condición se cumplirá siempre y cuando la primera condición se cumpla, en este caso la segunda condición es que nos muestre el nombre de contacto de la letra "g" hacia arriba.
Ejercicios (parte 2).
Ejercicio A.
Genera el siguiente resultado:
SELECT Materia , Count (Materias.Clave)
FROM Materias, Calificaciones
WHERE Materias.Clave = Calificaciones.Clave
Group BY Materia
LIMIT 0,30
ORDER BY Count (Materias.Clave) DESC
Ejercicio B.
Genera el siguiente resultado:
SELECT Materia , Count (Materias.Calificacion)
FROM Materias, Calificaciones
WHERE Materias.Clave = Calificaciones.Clave
ORDER BY Count (Materias.Calificaciones)
Group BY Materia
LIMIT 0,30
Referencias:
http://www.w3schools.com/sql/sql_quickref.asp
http://www.canalvisualbasic.net/manual/sql/
https://sites.google.com/site/saraegarza/poo
Suscribirse a:
Entradas (Atom)