jueves, febrero 22, 2007

Casos de Uso - Ejemplos

Sistema de Gestion para un Laboratorio de Analisis Fisico-Quimicos y Microbiologicos




Diagrama de Casos de Uso











Detalle del Caso de uso: Registro de Muestras



Descripcion
Este caso de uso documenta el proceso de recepción y registro de muestras. Tanto para clientes comunes como para clientes-convenio.
Los clientes comunes entregan la muestra al auxiliar tecnico administrativo, quien llena el formato F-CAL-030-1 con la información de las muestras y los estudios a realizar.
Un cliente convenio puede tener su propio formulario (Hoja de Custodia) para llenado de las muestras recibidas tanto como su manejo.

Detalles
Prioridad: Normal
Estatdo: Casual
Autor: Isidro Leos Viscencio


Pre condiciones
· Los usuarios deben estar firmados (logged)

Post condiciones
Success end condition

· La muestra es registrada y se puede conocer su estatus (Registro, Almacen, Analisis, Aprobación de Resultados, Informe Listo, Entregado al Cliente, Disposicion, Liberado)
· Se imprime la copia de custodia para cliente, entregable y para-archivo
· Se efectua el registro de entradas y salidas de Almacenamiento:; Anaquel o Refrigerador
· Se efectua el registro de resultados
· Se efectua la autorizacion o rechazo
· Se controlan las modificaciones a custodia - estudios
· Se elabora en automatico el informe de resultados
· Se realiza la generacion y el control de bitácora

Condicion de fallo
El ATA no puede capturar la muestra y no se altera lo anterior
El Responsable de Laboratorio no autoriza los resultados se queda pendiente de autorizacion


Minimos requisitos
-
Equipo funcionando


Actores Principales
Auxiliar Tecnico Administrativo

Actores Secundarios
Analista de Area Microbiologia

Escenario principal
1. El cliente entrega la muestra al Auxiliar Tecnico Administrativo
2. El Auxiliar Tecnico Administrativo Captura los datos de la muestra (Formato F-CAL-030-1)
3. El Auxiliar Tecnico Administrativo Imprime copia de la Custodia y la entrega al Cliente.
4. El Auxiliar Tecnico Administrativo envía la custodia al Analista de Area Fisico-Quimica y al Analista de Area Microbiologia para realizar analisis.
5. El Auxiliar Tecnico Administrativo lleva las muestras al almacen
6. El Auxiliar Tecnico Administrativo elabora la bitacora

Extensiones

1a. Se requiere FAX

1. If ( Hay fax ) then
1.1. Recibir y llenar custodia en base a FAX
2. Else
2.1. Esperar a recibir FAX


2a. Existe el Cliente <¿Es cliente nuevo?>
1. Dar de alta al Cliente


Variaciones

~2a. Cliente Convenio
1. Capturar los datos de la muestra utilizando el formato 001 para registrar la muestra




Diagrama de Flujo




Diagrama de Contexto


martes, febrero 20, 2007

¿Como almacenar una imagen JPG dentro de una Base de Datos con ASPX y C#?

Hace algunos meses escribí un pequeño artículo sobre como leer una imagen que se encuentra guardada en una base de datos, para desplegarla en una página web ASPX. Ahora, si nos hacemos la pregunta ¿como fue grabada esa imagen? Bueno, despues de un buen tiempo, aqui subo la respuesta:


¿como guardar una imagen en una base de datos?







public void btnSave_Click(object sender, System.EventArgs e)
{
Int32 iFileLength = System.Convert.ToInt32(fileUpload.PostedFile.InputStream.Length);
string sContentType = fileUpload.PostedFile.ContentType;
string sFileName = fileUpload.PostedFile.FileName.Substring(fileUpload.PostedFile.FileName.LastIndexOf("\\") + 1);
byte[] bFileDataBuffer = new byte[iFileLength + 1];
fileUpload.PostedFile.InputStream.Read(bFileDataBuffer, 0, iFileLength);

SqlTransaction trans=null;

con.Open();

try
{
trans = con.BeginTransaction();

spUploadInsertNew.Transaction = trans;
spUploadInsertNew.Parameters["@DocumentID"].Value = iDocumentID;
spUploadInsertNew.Parameters["@UserID"].Value = txtAuthor.Text;
spUploadInsertNew.Parameters["@Title"].Value = txtTitle.Text;
spUploadInsertNew.Parameters["@FileName"].Value = sFileName;
spUploadInsertNew.Parameters["@FileData"].Value = bFileDataBuffer;
spUploadInsertNew.Parameters["@ContentType"].Value = sContentType;
spUploadInsertNew.Parameters["@DatePosted"].Value = txtDatePosted.SelectedDate;
spUploadInsertNew.Parameters["@FileLength"].Value = iFileLength;

spUploadInsertNew.ExecuteNonQuery();

trans.Commit();

}
catch (Exception ex)
{
System.Console.WriteLine(ex.ToString());
trans.Rollback();
}
finally
{
con.Close();
}
}

Necesitamos un Stored Procedure como el siguiente:




/****** Object: Stored Procedure dbo.Uploads_I Script Date: 14/11/2006 03:49:32 p.m. ******/
CREATE PROCEDURE dbo.Uploads_I(
@DocumentID Integer,
@UserID CHAR(15),
@Title VARCHAR(45),
@FileName VARCHAR(85),
@FileData Image,
@ContentType VARCHAR(50),
@DatePosted DateTime,
@FileLength Integer)
AS
BEGIN
DECLARE @UploadID Integer

SELECT @UploadID = ISNULL(MAX(UploadID),0) + 1 FROM Uploads

INSERT INTO Uploads
([UploadID] ,[DocumentID] ,[UserID] ,[Title] ,[FileName] ,[FileData] ,[ContentType] ,[DatePosted] ,[FileLength] )
VALUES (@UploadID,@DocumentID,@UserID,@Title,@FileName,@FileData,@ContentType,@DatePosted,@FileLength)
END




viernes, febrero 09, 2007

Diferencia [Casos de Uso] y [Diagramas de Casos de Uso]


Es importante diferenciar casos de uso con diagrama de casos de uso. Tal vez suene un poco confuso, y quizá lo sea. Sin embargo vamos a tratar de hacer la distinción y precisar en que consisten ambos.



Casos de Uso



El caso de uso es una serie de cosas, es una técnica de analisis de sistemas, es una tecnica para recopilar requerimientos, puede ser usada como estrategia de desarrollo o conduccion de proyectos de sistemas (Use case driving proyects), y su aplicación se ha vuelto muy importante. El creador de los Casos de uso Ivar Jackobson se unió a Grady Booch y James Rambaugh en Rational Rose, para trabajar en lo que hoy conocemos como UML.



Un caso de uso se forma de varios elementos, tiene una estructura, aunque no estandarizada oficialmente, el uso repetitivo en diferentes ambitos, nos permite conocer algunos de esos formatos o plantillas, las cuales por lo general cuentan de lo siguiente:






  • Nombre del Caso de Uso

  • Objetivo o Meta General

  • Descripcion

  • Actores

  • Pre-Condiciones

  • Post-Condiciones

  • Diagrama de Caso de Uso

  • Flujo de Eventos



    • Flujo Principal

    • Flujos Alternos





  • Extensiones

  • Diagrama de Contexto

  • Diagrama de Navegacion (Entre Pantallas)

  • Prototipos de Pantallas



Nota: Algunas plantillas presentan manejo de información adicional como control de versiones, autor, fechas, etc.



Diagrama de Casos de uso




El diagrama de casos de uso forma parte del conjunto de herramientas del UML y es muy simple elaborar un diagrama de este tipo. Básicamente se conforma de dos figuras elementales el actor y el caso de uso.
Un actor que puede ser una persona, pero en particular el rol que desempeña dentro del sistema o entorno que estemos analizando, se representa con un muñequito.
Un caso de uso, que es una meta, accion, funcion, o tarea que desarrolla uno o varios actores y se representa con un elipse.







Nota:Diagramas generados con Visual Paradigm Community Edition



Technorati : , ,
Flickr : , ,