miércoles, 23 de noviembre de 2011

Biblioteca

 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.



Herencia.
Usuario
·                     Alumno
1.                 Licenciatura
2.                 Maestría
3.                 Doctorado
·                     Empleado
1.                 Profesor
·                     Préstamo
1.                  Licenciatura
2.                 Maestría
3.                 Doctorado
4.                 Maestro

Realizado por:
Ana Lucia Macias Ortiz 
Sofia Carolina Rosas Vazquez

Diagrama

Diagramas UML

Lenguaje Unificado de Modelado (LUM o 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; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Herramientas UML

Pero volviendo a la definición de UML como "conjunto de herramientas", si nos imaginamos UML como una caja de herramientas con su martillo, destornillador, alicates, etc. Veamos qué contiene nuestra caja de herramientas:


Diagrama de casos de uso
Diagrama de clases
Diagrama de estados
Diagrama de secuencias
Diagrama de actividades
Diagrama de colaboraciones
Diagrama de componentes
Diagrama de distribución
Pero siguiendo con la analogía, si vamos a colgar un cuadro no usaremos todas las herramientas de nuestra caja, posiblemente sólo usemos el martillo para clavar el clavo.

Lo mismo pasa con UML, una vez que conozcamos las herramientas usaremos en cada momento las más adecuadas a nuestras necesidades. Nos os voy a decir que esto sea fácil, pues hay que saber para qué sirven y qué limitaciones tienen unas y otras para conocer su utilidad. Pero se puede alcanzar este conocimiento con un poco de práctica y sentido común.


¿Qué no es UML?

UML no es un método de desarrollo. No te va a decir cómo pasar del análisis al diseño y de este al código. No son una serie de pasos que te llevan a producir código a partir de unas especificaciones.

UML al no ser un método de desarrollo es independiente del ciclo de desarrollo que vayas a seguir, puede encajar en un tradicional ciclo en cascada, o en un evolutivo ciclo en espiral o incluso en los métodos ágiles de desarrollo.
http://www.ingenierosoftware.com/analisisydiseno/uml.php
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado

Patrones de Diseño

Un patrón describe un problema que ocurre de forma repetida y sin parar… y después describe la base de la solución a ese problema, de una manera tal que uno puede utilizar esta solución un millón de veces.

Un patrón de diseño (en programación orientada a objetos, POO) es una descripción de diversos objetos y clases preparados para resolver un problema de diseño general aplicado a un contexto específico. Un patrón de diseño identifica las instancias y clases que participan en dicho patrón además de sus papeles, sus relaciones y sus responsabilidades para llevar a cabo la tarea a resolver. Cada patrón de diseño se centra en resolver un problema particular en la POO. Describe cuando se puede aplicar, si puede ser aplicado desde el punto de vista de las limitaciones del diseño y las consecuencias tanto positivas como negativas que tiene su utilización.
parámetros que se emplean para describir los patrones de diseño:

Nombre del patrón y clasificación, intención (¿Que hace este patrón?) ,otros nombres por los que también es conocido, motivación (escenario que ilustra su funcionamiento), aplicabilidad (en que escenarios es válido), estructura (representación gráfica de las clases involucradas y diagramas de interacción para ilustrar secuencias de peticiones y colaboraciones entre objetos), participantes (clases, objetos y sus responsabilidades), colaboraciones (como los participantes pueden colaborar en sus responsabilidades), consecuencias (¿Cómo el patrón realiza su cometido?¿Cuales son los compromisos a tener en cuenta al aceptar esta solución?), implementación (dificultades, riesgos, pistas o técnicas a tener en cuenta a la hora de implementar el patrón), ejemplo de código, usos conocidos y patrones relacionados.

http://www.novanebula.net/blog/archives/151-Patrones-de-diseno.html
http://www.minid.net/2006/01/02/patrones-de-diseno/
http://es.wikipedia.org/wiki/Patrón_de_diseño

jueves, 3 de noviembre de 2011

Patrones de Diseño

Los patrones de diseño que yo pienso que pudieran quedar con mi proyecto son: 

- Observador: este seria un patron ya que para ver las puntuaciones finales necesita tener los otros puntajes. 

Fábrica Abstracta [Creacional] “Permite trabajar con objetos de distintas familias de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de familia concreta que se esté usando. En mi programa seria al momento de las diferentes tipos de puntajes pero aun asi del mismo tipo

El patrón de diseño State se utiliza cuando el comportamiento de un objeto cambia dependiendo del estado del mismo, este seria para definir los estados de  en progreso, nada  y acabada.

Pruebas