Foros del Web » Programación para mayores de 30 ;) » Programación General »

Php y uml diagrama de secuencia.

Estas en el tema de Php y uml diagrama de secuencia. en el foro de Programación General en Foros del Web. Hola chicos: LA verdad es que estoy bastante estresadillo y el uml me trae por la calle de la amargura. Tengo varios proyectos en casa ...
  #1 (permalink)  
Antiguo 01/08/2005, 15:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 2
Php y uml diagrama de secuencia.

Hola chicos:

LA verdad es que estoy bastante estresadillo y el uml me trae por la calle de la amargura. Tengo varios proyectos en casa pero en cada uno lo hacen de una manera a ver si me podeis ayudar y decirme si el siguiente diagrama de secuencia esta bien o lo tengo todo mal (que va a ser esto). Antes de nada deciros que no tengo instaladas las extensiones de conalen con lo que los iconos no aparecen arriba :D. Os pongo el codigo (ya se que cuesta entenderlo) pero a ver si me ayudais q con un ejemplo ya saco los demas pero como no tengo ninguno. En caso de que este mal a ver si podeis echarle un vistacillo y decirme q cambiariais en el diagrama. Gracias. Os pongo la imagen del diagrama primero y luego el codigo.

Insisto ya se que es un poco lioso pero os lo agradeceria pq me queda 1 mes para documentar y ando muy muy perdido y ya me empieza el canguelo. Os estaria eternamente agradecido.

Muchas gracias





la pagina principal (la que manda a la de alta_usuario no os la pongo porque es cargar esto innecesariamente) y la de javascript tampoco porque no tienen mucha cienca. Alta usuario simplemente seria un formulario con x campos que comprueba mediante la de javascript si son correctos (hasta que no lo sean no deja enviar el formulario). Esta pagina llamaria a procesar_datos.

procesar datos.php
Código PHP:
<body  bgcolor="#EBECFE">
<?
require_once ('../Clases/usuario.php');

// FUNCION QUE LIMPIA DE ESPACIOS LA INFORMACION BASICA DE UN USUARIO //
function  limpiar_variables ($cadena1=''$cadena2=''$cadena3=''$cadena4='')
{
$resultado = array (
                
=> trim ($cadena1),
                
=> trim ($cadena2),
                
=> trim ($cadena3),
                
=> trim ($cadena4),
                
=> date("d/m/Y h:i"));
return 
$resultado;
}
//*************************************************//

if ($Tipo == '')
{
$Tipo 'A';
}
$cadena limpiar_variables($nombre$apellidos$direccion$email);

$user = new usuario ($dni$cadena[0], $cadena[1], $cadena[2], $telefono$email$mobil''''$cadena[4], $permiso$Tipo$nacimiento);
$user->generar_login();
$resultado $user->guardar_usuario();


if (
$resultado == 1)
{
$user->mostrar_resultados();
}
else 
{
$user->error('El registro se encuentra duplicado.');
}


print 
'<p align="right"><a href="Root-index.html">Volver</a></p>';
?>

 </body>
  #2 (permalink)  
Antiguo 01/08/2005, 15:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 2
Aqui va la continuacion :


clase usuario

Código PHP:
<?

require_once ('../Clases/basedatos.php');
require_once (
'../Clases/log.php');
class 
usuario

{

var 
$Dni;
var 
$Nombre;
var 
$Apellidos;
var 
$Direccion;
var 
$Telefono;
var 
$Email;
var 
$Mobil;
var 
$Login;
var 
$Pass;
var 
$Alta;
var 
$Tipo_Carnet;
var 
$Tipo;
var 
$Nacimiento;

function 
usuario ($Dni=''$Nombre=''$Apellidos=''$Direccion=''$Telefono=''$Email=''$Mobil=''$Login=''$Pass=''$Alta=''$Tipo_Carnet=''$Tipo=''$Nacimiento='')
{
$this->Dni $Dni;
$this->Nombre $Nombre;
$this->Apellidos $Apellidos;
$this->Direccion $Direccion;
$this->Telefono $Telefono;
$this->Email $Email;
$this->Mobil $Mobil;
$this->Login $Login;
$this->Pass $Pass;
$this->Alta $Alta;
$this->Tipo_Carnet $Tipo_Carnet;
$this->Tipo $Tipo;
$this->Nacimiento $Nacimiento;
}


//generar el login y el password del usuario//
function generar_login($nombre=''$apellidos='')
{
    
    
// generamos el password para el usuario
    
$this->Pass rand(100000,99999999);
    
$login = (substr(trim($this->Nombre), 0,3)); //Añadimos las 3 primeras letras del nombre
    
$loginaux substr(trim($this->Apellidos), 0,3); //Añadimos las 2 primeras letras del apellido
    
$login $login.$loginaux;
    
    
$bd= new t_basedatos();
    
$enlace $bd->conectarbd();
    
$i1;
    
    
$loginaux $login.$i;
    
$result $bd->comprobar_existencia($loginaux'USUARIO''LOGIN');
    while (
$result == 0)
    {
            
$i++;
            
$loginaux $login .$i;
            
$result $bd->comprobar_existencia($loginaux'USUARIO''LOGIN');
    }
    
$this->Login $loginaux;
}


// funcion guardar_usuario, guarda los datos de un usuario en la base de datos.
function guardar_usuario()
{
    
$bd= new t_basedatos();
    
$enlace $bd->conectarbd();
    
$resultado $bd->comprobar_existencia($this->Dni'USUARIO''DNI');
    If (
$resultado == 1)
        {    

            
$Query "INSERT into USUARIO (dni, nombre, apellidos, direccion, telefono, mobil, email, nacimiento, tipo, login, pass, alta, tipo_carnet) values('".$this->Dni."','".$this->Nombre."','".$this->Apellidos."','".$this->Direccion."','".$this->Telefono."','".$this->Mobil."','".$this->Email."','".$this->Nacimiento."','".$this->Tipo."','".$this->Login."','".$this->Pass."','".$this->Fecha."', '".$this->Tipo_Carnet."')";
            
$logg = new Log('''ADMIN''ALTA DE USUARIO DIRECTA''A''21/11/1979');
             
$logg->insertar();
            return 
$bd->realizarquery($Query);

        }
    return 
0;
    }

// muestra el resultado de los datos introducidos//
function mostrar_resultados()
    {
echo
'<br><br>';    
echo 
'<center>';
echo 
'<table width="424" height="214" border="1" cellpadding="0" cellspacing="0" bordercolor="#8080FF">';
echo 
'  <tr bgcolor="#8080FF" bordercolor="#8080FF">';
echo 
'    <th colspan="4" scope="col" bordercolor="#8080FF"><u>'.$this->Apellidos.$this->Nombre.'</u></th>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td height="6" colspan="4" td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td width="35" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td width="100"  bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Dni:</strong></td>';
echo 
'    <td width="259" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Dni.'</td>';
echo 
'    <td width="20" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td width="35" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td width="100"  bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Nombre:</strong></td>';
echo 
'    <td width="259" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Nombre.'</td>';
echo 
'    <td width="20" bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Apellidos:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Apellidos.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Direcci&oacute;n:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Direccion.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Telefono:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Telefono.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Mobil:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Mobil.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Nacimiento:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Nacimiento.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>E-mail:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Email.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';

echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Tipo:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Tipo.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';

if (
$this->Tipo_carnet =='')
    {
    }
else 
    {
    echo 
'  <tr>';
    echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
    echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Matriculado:</strong></td>';
    echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">Permiso '.$this->Tipo_Carnet.'</td>';
    echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
    echo 
'  </tr>';
    }

echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Login:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;'.$this->Login.'</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><strong>Password:</strong></td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp; *********</td>';
echo 
'    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr>';
echo 
'    <td height="6" colspan="4" td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><span class="Estilo2">&nbsp;</span></td>';
echo 
'  </tr>';
echo 
'</table>';



print 
'  </table>';

}

function 
error($cadena='')
{
echo
'<center>';
echo 
'<table width="460" height="281" border="1" cellpadding="0" cellspacing="0" bordercolor="#8080FF">';
echo 
'  <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">';
echo 
'    <th width="8" height="21" scope="col"><p>&nbsp;</p>';
echo 
'    <p>&nbsp;</p></th>';
echo 
'    <th width="55" scope="col"><img src="file:///C|/Archivos%20de%20programa/Apache%20Group/Apache2/htdocs/Definitivo/Imagenes/icono_dialog_error.gif" width="40" height="35" border="0" usemap="#Map"></th>';
echo 
'    <th width="333" bgcolor="#FFFFFF" scope="col"><div align="left"><font face="Arial, Helvetica, sans-serif" color=#000080 ';
echo 
'size=+3><b><i>Error ...</i></b></font> </div></th>';
echo 
'    <th width="8" scope="col">&nbsp;</th>';
echo 
'    <th width="50" scope="col">&nbsp;</th>';
echo 
'  </tr>';
echo 
'  <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td><DIV align=justify><FONT ';
echo 
'style="TEXT-ALIGN: justify" face="Verdana, Arial, Helvetica, sans-serif" ';
echo 
'color=#000080 size=-1>Si persiste consulte con el administrador de la web.</FONT> </DIV></td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td bgcolor="#FFFFFF"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color=#000080 ';
echo 
'size=-3>[email protected]</font></div></td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">';
echo 
'    <td height="39">&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td><CENTER>';
echo 
'      <font face="Verdana, Arial, Helvetica, sans-serif" color=#000080 ';
echo 
'size=-1>Disculpen las molestias</font>';
echo 
'    </CENTER></td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'  </tr>';
echo 
'  <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td bgcolor="#FFFFFF"><div align="center">&nbsp;</div></td>';
echo 
'    <td>&nbsp;</td>';
echo 
'    <td>&nbsp;</td>';
echo 
'  </tr>';
echo 
'</table>';
}
  #3 (permalink)  
Antiguo 01/08/2005, 15:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 2
y la ultima parte

por ultimo la clase basedatos

Código PHP:
<?
// $NombreBD;

//inicializado de variables


class t_basedatos{


/* variables de conexion */
var $NombreBD;
var 
$Servidor;
var 
$Usuario;
var 
$Clave;
var 
$IDConec;


// Inicialiador de la base de datos //
function t_basedatos()
{
    
$this->NombreBD 'PFC';
    
$this->Servidor 'localhost';
    
$this->Usuario 'root';
    
$this->IdConec ='';
    
$this->Clave ='';

}



// Funcion que conecta con la base de datos //
function conectarbd()
{
     
    
//Conectamos con el servidor de la base de datos
    
     
$this->IdConec mysql_connect($this->Servidor$this->Usuario$this->Clave);
    if (!
$this->IdConec)
        { 
         print 
"¡¡Ha ocurrido un Error......!!";
         print 
"<br>";
         print 
"Codigo del error: ".mysql_error();
         print 
"<br>";
         print 
"Por favor intentelo mas tarde o contacte con el administrador.";
         print 
"<br>";
         print 
"Disculpe las molestias.";
         return 
0;
    }
    
$Id_Result =  mysql_select_db($this->NombreBD$this->IdConec);
    if (!
Id_Result)
    {
         print 
"¡¡Ha ocurrido un Error!!";
         print 
"<br>";
         print 
"Codigo del error: ".mysql_error();
         print 
"<br>";
         print 
"Por favor intentelo mas tarde o contacte con el administrador.";
         print 
"<br>";
         print 
"Disculpe las molestias.";
         return 
;
    }
    return 
$this->IdConec;
}



// Comprueba que el resultado es unico, que no hay otro registro igual al pasado por parametro. En caso afirmativo se
// devuelve 0, por el contrario si no existe se devuelve 1.
function comprobar_existencia($campo=""$tabla=''$registro ='')
    {
    
$consulta "SELECT ".$registro." FROM ".$tabla." WHERE ".$registro." ='".$campo."'";
    
$resultado $this->realizarquery($consulta);    
    
$row mysql_fetch_array ($resultado);

    If (
$row[0] == $campo)
        {
         return 
0;
        }

         return 
1;
    }

    
// Funcion realizar consulta sql, de insercion, borrado o consulta
function realizarquery ($sql ="")
    {
    
$Id_Result mysql_query($sql$this->IdConec);
    if (!
Id_Result)
        {
         print 
"¡¡Ha ocurrido un Error!!";
         print 
"<br>";
         print 
"Codigo del error:  ".$Id_Result." ";
         print 
"<br>";
         print 
"Por favor intentelo mas tarde o contacte con el administrador.";
         print 
"<br>";
         print 
"Disculpe las molestias.";
         return 
;
        }
        return 
$Id_Result;
    }
  #4 (permalink)  
Antiguo 01/08/2005, 15:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 2
despues os hago una version resumida de los metodos de cada pagina a ver si entendeis mejor. A ver si me ayudais gracias
  #5 (permalink)  
Antiguo 01/08/2005, 15:15
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 2
el proceso abreviado de llamadas seria el que os pongo a continuacion. Tb os pongo la clase usuario resumida y la clase basededatos no la pongo porque son simples operaciones simples.

Código PHP:
Pagina principal ---> link a la pagina alta_usuario.html

alta_usuario
.html --> include javascript.js -->funciones de comprobacion
          
--> tiene un formulariouna vez rellenados los datos se invoca a la funcion comprobar de javascript.jssi son correctos los datos se deja enviar la informacion si no mensaje de alerta.

procesar_alta.php--> hay una serie de llamadas a funciones consecutivas.
         --> include 
clase usuario
        
---> se llama a una funcion limpiar_variables (la contiene procesar_alta.php)
        --->    
$user = new usuario ($dni$cadena[0], $cadena[1], $cadena[2], $telefono$email$mobil''''$cadena[4], $permiso$Tipo$nacimiento);
            
$user->generar_login();
            
$resultado $user->guardar_usuario();


            if (
$resultado == 1)
                {
                
$user->mostrar_resultados();
                }
            else 
                {
                
$user->error('El registro se encuentra duplicado.');
                }

clase usuario **********************************************************************************************

funcion generar_login(

function 
guardar_usuario()
{
    
$bd= new t_basedatos();
    
$enlace $bd->conectarbd();
    
$resultado $bd->comprobar_existencia($this->Dni'USUARIO''DNI');
    If (
$resultado == 1)
        {    

            
$Query "INSERT into USUARIO (dni, nombre, apellidos, direccion, telefono, mobil, email, nacimiento, tipo, login, pass, alta, tipo_carnet) values('".$this->Dni."','".$this->Nombre."','".$this->Apellidos."','".$this->Direccion."','".$this->Telefono."','".$this->Mobil."','".$this->Email."','".$this->Nacimiento."','".$this->Tipo."','".$this->Login."','".$this->Pass."','".$this->Fecha."', '".$this->Tipo_Carnet."')";
            
$logg = new Log('''ADMIN''ALTA DE USUARIO DIRECTA''A''21/11/1979');
             
$logg->insertar();
            return 
$bd->realizarquery($Query);

        }
    return 
0;
    }
function 
error (muestra un mensaje de error)
function 
mostar_resultados -->muestra los mensajes de error del sistema 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:58.