lunes, 21 de noviembre de 2011

EJEMPLO DE DIAGRAMAS DE ESTADO

PROCESAMIENTO DE PEDIDOS


MAQUINA CAFETERA


MANEJO AUTOMÓVIL



PROCESAMIENTO DE UN PRÉSTAMO


UN SEMÁFORO 



UNA VELA


MAQUINA DISPENSADORA


TELÉFONO



OTRA DISPENSADORA




TALLER PRACTICO CALIFICABLE


1.  Reloj Digital Programable.

Usted acaba de comprarse un reloj digital con su pantalla de cristal líquido y dos botones, el botón A y el B. La pantalla puede mostrar la hora actual o puede permitir cambiar la hora. Al oprimir el botón A el reloj cambia el modo de operación de mostrar la hora a permitir cambiar las horas que muestra la pantalla. Al oprimir nuevamente el botón A pasa al modo en que se permite cambiar los minutos que se muestra; al oprimir de nuevo A el reloj vuelve a mostrar la hora y así sucesivamente. El botón B se usa para avanzar las horas o los minutos cuando el reloj está en el modo de cambiar horas o en el modo de cambiar minutos respectivamente. Si el botón B se deja oprimido por más de 5 segundos, automáticamente cada medio segundo el reloj avanza las horas o los minutos, según el modo en que se encuentre. Prepare el diagrama de estados del reloj.

2.  Contestadora Automática de Teléfono.

Elabore el diagrama de estados para la contestadora automática de teléfono que se describe a continuación. La máquina responde a una llamada con un anuncio pre grabado. Después de este anuncio, deja pasar un intervalo de seis segundos antes de hacer sonar un pitido. Después del pitido graba el mensaje de la persona que llama. Cuando cuelga el llamador, la contestadora cuelga y se desactiva.Si el llamador comienza a marcar los dígitos de su clave antes de que pase el intervalo de seis segundos, espera a que el llamador marque seis dígitos o transcurra más de ocho segundos entre dos dígitos consecutivos. Si el usuario introduce la clave correcta en el tiempo adecuado, la contestadora rebobina la cinta de grabación y reproduce los mensajes grabados. Luego queda a la espera de que el usuario marque uno, cuelgue o pasen más de quince segundos (en este caso, ella cuelga y se desactiva sin borrar mensajes) o nueve (en este caso, la contestadora rebobina la cinta hasta el principio, borrando todos los mensajes grabados, cuelga y se desactiva). Si el usuario introduce una clave incorrecta, o transcurren más de ocho segundos entre dígitos, la contestadora cuelga y se desactiva.

La contestadora tiene dos botones adicionales, uno que se presiona para grabar el anuncio y otro que se presiona para luego introducir una nueva clave de seis dígitos. Cuando están presionados estos botones la contestadora no atiende llamadas.

La contestadora no responde inmediatamente cuando el teléfono repica. Si tiene mensajes grabados, responde al cuarto repique; si no tiene mensajes grabados responde al séptimo repique. Así el dueño de la contestadora puede ahorrarse el costo de la llamada si llama para escuchar sus mensajes y no hay mensajes grabados. Para ello, llama y cuenta el número de repiques; al escuchar el quinto repique cuelga.

Nota: que si alguien contesta el teléfono antes de que la contestadora se active, ésta no se activará.

UN MODELO DE EJEMPLO

El siguiente enlace presenta un ejemplo de un modelo UML:

http://www.elguille.info/colabora/puntoNET/canchala_UML.htm

jueves, 17 de noviembre de 2011

EJEMPLOS DE CASOS DE USO



   Un Restaurante




Un cajero Automático





Otro Restaurante





Una Máquina Recicladora


Sistema que controla una máquina de reciclamiento de botellas, tarros y jabas. El sistema debe controlar y/o aceptar:
  • Registrar el número de ítemes ingresados.
  • Imprimir un recibo cuando el usuario lo solicita:
    1. Describe lo depositado
    2. El valor de cada item
    3. Total
  • El usuario/cliente presiona el botón de comienzo
  • Existe un operador que desea saber lo siguiente:
    1. Cuantos ítemes han sido retornados en el día.
    2. Al final de cada día el operador solicita un resumen de todo lo depositado en el día.
  • El operador debe además poder cambiar:
    1. Información asociada a ítemes.
    2. Dar una alarma en el caso de que:
      1. Item se atora.
      2. No hay más papel.
Como una primera aproximación identificamos a los actores que interactuan con el sistema:



Luego, tenemos que un Cliente puede Depositar Itemes y un Operador puede cambiar la información de un Item o bien puede Imprimir un informe:


Además podemos notar que un item puede ser una Botella, un Tarro o una Jaba.


Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún item por un cliente o bien puede ser realizada a petición de un operador.




Entonces, el diseño completo del diagrama Use Case es:





























jueves, 20 de octubre de 2011

PROYECTOS SUSTENTABLES

1) Obtener el modelo conceptual de un sistema de información muy simplificado de una
biblioteca. En ella aparecen socios, que se dan de alta en la biblioteca y a partir de ese
momento pueden tomar prestados libros de la misma. Un socio está caracterizado por un número de socio, un nombre y una dirección; además, en cada momento se puede saber el número de libros que un socio tiene prestados, y si tiene más de diez libros. Por su parte, de cada libro se conoce su código, título, autor y si está o no disponible; además se puede saber en cualquier momento la localización del libro en la biblioteca, así como la signatura del mismo. Un libro puede ser cambiado de lugar, y se le puede cambiar igualmente su signatura; de hecho, siempre que se cambia la signatura de un libro es porque se cambia de lugar. Los libros se prestan a los socios, y como consecuencia aparece la noción de préstamo; un préstamo estará caracterizado, además de por el código del libro prestado y el número de socio, por la fecha del mismo. Por otra parte también se va a llevar control de los socios que tengan prestados más de 10 libros, de lo cual se encargará la aplicación program_SNF, haciendo que estos socios pasen a especializarse temporalmente en socios_no_fiables.

2) Obtener el modelo conceptual de un sistema que gestiona las matriculas de los estudiantes en una universidad. Una persona viene caracterizada por su dni, nombre, dirección y estado civil, y ésta puede convertirse en estudiante al darse de alta como tal en la universidad. Como estudiante podrá matricularse de las asignaturas que se imparten en la universidad, que tendrán un código, un nombre, un profesor responsable y un curso asignado. Una vez matriculado, el estudiante podrá recibir una beca, y en su nueva condición de becario tendrá asignado un nuevo código y se conocerá el importe de la misma; al finalizar el curso, la condición de becario acabará. Una vez el estudiante se matricula, tanto si recibe beca como si no, deberá examinarse de las asignaturas en las que se encuentra matriculado hasta que finalice el curso y vuelva a matricularse de nuevo, o bien deje la universidad y con ello deje de ser estudiante. Además, convendrá tener una serie de aplicaciones tales como dar de alta a nuevas personas y asignaturas, llevar a cabo la matriculación de estudiantes en asignaturas, registrar las notas obtenidas por los estudiantes al examinarse de cualquier asignatura en la que están matriculados y una serie de listados tales como los alumnos matriculados en una asignatura, las asignaturas en las que se ha matriculado un alumno y el listado de notas por asignatura (actas).

3) Realizar el modelado correspondiente al siguiente sistema:
Se trata de un sistema de reservas de un hotel. El hotel permite hacer reservas de
habitaciones y de ello se encarga el Administrativo de Reservas, y de forma alternativa el cliente la puede hacer también por Internet. Siempre que se solicita la reserva de una
habitación, se comprueba si la persona es cliente del hotel, en cuyo caso solo hay que
cumplimentar los datos de la reserva (fecha de entrada, fecha de salida, tipo de habitación, etc.). Si la persona no es cliente del hotel, además, hay que darlo de alta e introducir sus datos personales. Una reserva puede ser anulada en cualquier momento, pero si se realiza con menos de 24 horas de antelación, se penaliza al cliente cargándole una cantidad equivalente al 50% del coste de una noche en la habitación reservada. Una vez el cliente llega al hotel, el Recepcionista comprueba su reserva y los datos del cliente y procede a registrarlo. Una vez concluida la estancia, el Recepcionista procede a facturar la estancia.



4) Realizar el modelo del siguiente sistema:  Se trata de una empresa de venta de coches de segunda mano con las siguientes características: Los coches los suministran distintos proveedores, nos interesa conocer la marca, modelo, matricula, precio de compra, de venta ... Los coches pueden ser turismos, industriales y todoterrenos. Además pueden necesitar ser reparados, por lo que se debe tener un control de las reparaciones hechas, que pueden ser mecánicas, eléctricas o de chapa. En la empresa habrá dos tipos de vendedores: Asalariados y por comisión. De los asalariados nos interesa saber también el salario y de los que van con comisión los coches que han vendido. Además se tendrá un control de los clientes, tanto de los que han comprado un coche, como de los interesados en algún tipo de coche que podrán hacer reservas. Los coches pueden estar en distintas exposiciones, y debemos saber en todo momento donde se encuentra cada coche. Se necesitan operaciones para realizar una venta de un coche, para reparar los coches que los necesiten, para comprar nuevos coches a los proveedores, etc. También interesa tener operaciones que nos devuelvan que cliente compró un cierto coche, que se realicen listados de los coches que se encuentran en stock en un momento dado.

5) Se desea automatizar un aparcamiento con capacidad para 400 automóviles, de acuerdo a los siguientes requisitos:
Los usuarios del aparcamiento dispondrán de una tarjeta mecánica donde figura registrado su código de identificación. A su llegada al aparcamiento, el usuario introducirá la tarjeta en el lector correspondiente, lo que hace que se eleve la barrera situada en la entrada. Esta barrera permanece levantada un cierto tiempo, descendiendo luego automáticamente. Para salir del aparcamiento se procede de igual forma con la barrera situada a la salida. Tanto las entradas como las salidas deben quedar registradas con objeto de realizar periódicamente una facturación a los usuarios, según el tiempo de aparcamiento consumido. Estas facturas se emitirán a petición del operador.
El sistema debe tener en cuenta la ocupación del aparcamiento, controlando un semáforo situada a la entrada. Si hay plazas libres, el semáforo debe estar verde, pasando a rojo si el aparcamiento se llena. Además, cuando el aparcamiento esté lleno no debe permitirse la entrada a nuevos vehículos.

6) 
·  Un veterinario tiene como pacientes animales y como clientes familias.

·  Un cliente es un conjunto de personas que suele corresponderse con una familia.

. Cada cliente tiene un código, el primer apellido del cabeza de familia, un número de cuenta bancaria, una dirección, un teléfono y los nombres y NIF de las personas correspondientes. No existe límite en el número de personas asociadas a una entidad cliente. Además, una persona puede estar dada de alta en varios clientes (por ejemplo, un hombre que vive con su esposa tiene un gato y como tal pertenece a un cliente, pero también esta dado de alta en el cliente asociado con el perro de sus padres).

·  Los clientes pueden tener varias mascotas, cada mascota tiene un código, un alias, una especie, una raza, color de pelo, fecha de nacimiento aproximada, peso medio del animal en las últimas 10 visitas y el peso actual del animal. Asimismo se guardará un historial médico con cada enfermedad que tuvo y la fecha en la que enfermó.

·  Adicionalmente cada mascota tiene un calendario de vacunación, en el que se registrará la fecha de cada vacuna, la enfermedad de la que se vacuna.


7)  Construir el Modelo correspondiente al siguiente enunciado: Un centro de instalaciones deportivas quiere hacer una aplicación de reservas. En el centro existen instalaciones deportivas (piscinas, gimnasios, frontones, etc.). El centro en cuestión tiene socios, de los cuales se almacenan su dirección, ciudad, provincia, teléfono, nombre y estado. Existen una serie de artículos que se pueden alquilar junto con las reservas (balones, redes, raquetas, etc.). Cada instalación es reservada por un socio en una fecha dada desde una hora de inicio hasta una hora de fin siempre y cuando este al día en sus cuotas. Cada reserva puede tener asociada uno o varios artículos deportivos que se alquilan a parte. Por ejemplo si yo quiero hacer una reserva para jugar a voleibol tengo que reservar una instalación polideportivo más un artículo red, más un artículo balón.

miércoles, 5 de octubre de 2011

PROGRAMA DE INGENIERIA DEL SOFTWARE

CONTENIDO

INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE
¿Qué es la Ingeniería?
¿Quien la aplica? 
¿Por qué es Importante?
¿Cuáles son los pasos a seguir?
¿Cuál es el producto obtenido?
¿Qué es un producto?
¿Qué es un proceso?
¿Cuál es el proceso de la Ingeniería de Software?
¿Cuál es el producto de la Ingeniería de Software?

GESTIÓN DE PROYECTOS DE SOFTWARE
Gestión de proyectos.
Proceso de software.
Métricas.
Planificación de proyectos de Software.
Gestión de riesgos.

METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Historia de la Ingeniería de Software.
Crisis del Software.
Métodos convencionales para la ingeniería de software.

CICLO DE VIDA DEL SOFTWARE
Conceptos.
Modelos.

INGENIERIA DE SOFTWARE ORIENTADA A OBJETOS
Conceptos y principios Orientados a Objetos.
Análisis  Orientado a Objetos.
Diseño Orientado a Objetos.

PROCESO UNIFICADO DE DESARROLLO
Desarrollo metodológico de Software.
Fases del proceso de desarrollo de software.

LENGUAJE UNIFICADO DE MODELADO
¿Qué es un modelo?
Funciones de un modelo.
Significado de un modelo.
Historia de UML.
Objetivos de UML.

CONCEPTOS DEL LENGUAJE UNIFICADO DE MODELADO
Vistas de UML.
Diagramas de UML.


CRITERIOS DE EVALUACIÓN


EVALUACIONES PARCIALES                                                               60% 
(Trabajos escritos, proyecto de Investigación, evaluaciones
Orales, sustentaciones orales y escritas entre otros)                           

AUTO EVALUACIÓN                                                                                10%  
(Evaluaciones para el seguimiento al autoaprendizaje)                                                           

EVALUACIÓN FINAL                                                                                30%


BIBLIOGRAFÍA RECOMENDADA


Ingeniería del Software: un enfoque
    práctico. 5ta edición.
    Roger Pressman
   McGraw-Hill

Ingeniería de Software Orientado a Objetos
   Bernd Bruegge
   Pearson Educación

The Rational Unified Process
   Philippe Krutchen
   Addison-Wesley