jueves, 8 de septiembre de 2011

Diagrama de clases.

Para hacer este diagrama de clases utilizamos el software Umbrello.

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).

  • 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: 

  • 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.

  • 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]



  • 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%'

El operador LIKE se utiliza en una sentencia WHERE para buscar un patrón específico en una columna.

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