Tecnologías y Aplicaciones de Internet

UML Lección 01

Etapas del ciclo de vida de una aplicación:


1)Expresión de las necesidades

2)Especificaciones

3)Análisis

4)Diseño

5)Implementación

6)Pruebas de verificación

7)Validación

8)Mantenimiento y evolución


La expresión de las necesidades


Las necesidades las expresan ya sea el cliente, el usuario o el desarrollador, en forma individual o en conjunto.

Expresa lo que el futuro sistema es susceptible de aportar a los usuarios, define la funcionalidad del sistema y la forma de utilizarlo.

En la expresión de las necesidades se omite la forma de como se construye el sistema pero se centra la atención en lo que el sistema puede aportar al usuario y como se comporta el sistema frente al usuario.


Ejemplo:


Una escuela quiere permitir a sus alumnos consultar sus calificaciones. La necesidad descrita de la manera más simple es: Crear un sistema que permitir a una escuela consultar las calificaciones a sus alumnos por Internet, calificaciones que su profesor tiene que asignar por ese mismo medio.


Especificaciones


Es la delimitación del sistema en un lenguaje comprensible desarrollado por los usuarios, como expertos de lo que debe hacer el sistema, apoyados por los desarrolladores.


Para el desarrollo de las especificaciones existen los use cases que nos permiten tener una metodología estandar.


Los use cases son una representación orientada a la funcionalidad del sistema que permite modelar las expectativas de los usuarios, validando las especificaciones o en su caso definiendo las especificaciones.


El primer paso para modelar los use case es identificar a los actores, quienes representan la frontera del sistema y son los usuarios externos del sistema.


Los actores pueden ser de tres tipos: humanos, software y hardware y se clasifican en dos tipos: actores primarios, que utilizan el sistema y los actores secundarios que administran el sistema.


Los elementos que constituyen al sistema, desde un punto de vista funcional y a través de la vista que tienen los actores del mismo, son una serie de eventos correspondiente a una forma especifica de como utilizar el sistema, que regularmente es desencadenado su uso por un actor. Y pueden ser por ejemplo:


Ejemplo:



Use case <<Consultar Calificaciones>>

El usuario entra su clave de acceso y su contraseña

El sistema indica si puede ver las calificaciones y cuales

El usuario selecciona de las calificaciones que puede ver, la calificacion(es) a ver

El sistema le muestra la calificacion de la materia seleccionada

El usuario sale del sistema


Use case <<Asignar Calificaciones>>

El profesor entra su clave de acceso y su contraseña

El sistema le da acceso al sistema si esta autorizado y le indica los grupos que tiene

El profesor selecciona el grupo a asignar la calificación

El sistema le muestra los alumnos del grupo seleccionado

El profesor asigna las calificaciones a cada alumno

El sistema guarda las calificaciones



El modelo de objetos

Clases


Para poder comenzar a hablar de clases primero hay que definir al objeto, el cual encapsula informaciones y comportamientos:


Las informaciones son los datos incluidos en el objeto, llamados también atributos y los comportamientos son llamados métodos u operaciones.


De los casos particulares de los objetos, podemos generalizar y agrupar a los objetos con las mismas propiedades y métodos en una clase de objetos, con lo que definimos a la Clase que posteriormente nos permitirá generar instancias o lo que es lo mismo objetos de cierta clase.


Así podemos por ejemplo crear una clase Persona que tiene los atributos de nombre y dirección y podemos definir el método cambiarDomicilio(String) que caracteriza a las personas.


Métodos


Los métodos en otros lenguajes se podrían compara con las funciones. Recordemos que en la programación orientada a los objetos, tanto las propiedades como los comportamientos tienen un mismo nivel en cuanto el tratamiento. En el siguiente ejemplo lo podemos observar, ya que tanto las propiedades como el método se encuentran definidos dentro de la clase persona.


Existen métodos que regresan algún valor y otros métodos que no


Creación de clases y su instanciación utilizando php


class nombreClase {


}


class nombreClase {

var $atributo1;

var $atributo2;

}


class nombreClase {

function metodo1() {

echo “realización del metodo1”;

}


var $atributo1;

var $atributo2;

}


Utilización de constructores


class nombreClase {

var $atributo1;

var $atributo2;


function nombreClase($param1, $param2) {

$atributo1=$param1;

$atributo2=$param2

}

function metodo1() {

echo “realización del metodo1”;

}



}



Instanciar la clase


$a=new nombreClase(“uno”, 2);

echo $a->atributo1; //despliega “uno”

echo $a->atributo2; //despliega 2

$a->atributo1=”dos”;

echo $a->atributo1; //despliega “dos”

$a->metodo2(); //despliega “realización del metodo1”



Buena practica en el manejo de los atributos:


Utilizar funciones que actualicen y regresen el valor de los atributos. ej.


class nombreClase {

var $atributo1;

function get_atributo1() {

return $this->atributo1;

}

function set_atributo1($valor) {

this->atributo1=$valor;

}

}


Utilización de herencias (en php no se permite multiples herencias


Class A {

var $atributo1;

function operacion1() {

echo “hola”;

}

}


Class B extends A {

var $atributo2;

function operacion2() {

echo “mundo”,

}

}


$b=new B();

$b->operacion1();

$b->operacion2();

echo $b->atributo1;

echo $b->atributo2;


ejemplo practico:





Clase persona


class Persona {

var $Nombre;

var $Apellido;

var $Direccion;


function Persona ($nombre, $apellido, $direccion) {

this->setNombre($nombre);

this->setApellido($apellido);

this->setDireccion($direccion);

}


function setNombre($nombre){

$this->Nombre=$nombre;

}


function setApellido($apellido){

$this->Apellido=$apellido;

}


function setDireccion($direccion){

$this->Direccion=$direccion;

}


function getNombre{

return $this->Nombre;

}


function getNombre{

return $this->Apellido;

}


function getNombre{

return $this->Direccion;

}


}


class Alumno extends Persona {

var $carrera;

}


class Maestro extends Persona {

var $sueldo;

}




de 7