Tecnologías y Aplicaciones de Internet
UML Lección 01
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
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.
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:
las principales tareas de cada actor,
los casos de anomalías y excepciones
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 |
|
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;
}