Usuario:ManuelRomero/CasosUso

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg




Casos de Uso

  • Es tipo de diagrama de UML muy utilizado sobre todo en la fase de análisis
  • Muy util también para recoger requisitos
  • El diagrama de casos de uso representa la forma en como un Usuario Actor interactúa con el sistema
  1. realizando un uso de él
  2. visualiza los casos de uso que se hacen del sistema
  • También puede visualizar como los elementos interactuan (operaciones o casos de uso).

Elementos

  • Al se un diagrama nos transmite una información.(Como lo hacen los lenguajes
  • Como cualquier lenguaje usa un léxico (elementos), sintaxis (reglas de construccion) y semántica o significado
  • Elementos
    • Actor
    • Caso de uso
    • Relaciones de Uso:( Herencia y Comunicación).

Actor

  • Es el rol que desempeña un elemento externo utilizando el sistema
  • Puede ser concreto como una persona o una impresora. También podría ser un programa

Representa una labor que se realiza frente al sistema. Actor1.png

Caso de uso

Es una operación o acción que se realiza tras una orden o solicitud La solicituad de que se ejecute puede venir de

  1. Un actor
  2. Otro caso de uso

CasoDeUso.png

Relaciones

Es la manera en la que un 'actor entra en contacto con 'un caso de uso' o 'un caso de uso' con 'otro' Tenemos tres tipos diferentes de relaciones:

Asociación
Se representa por una flecha.

Asociacion.png

Denota que un actor o un caso de uso invoca a una operación representada por un caso de usoEs una fecha

CasoDeUso1.png

Dependencia o Instanciación (<<extends>>,<<include>>
Si además en la invocación un caso de uso 'instancia o crea un objeto para la operación del otro caso de uso se representac on una instanciacion o dependencia
Este tipo de relación se suele producir de forma más natural entre diferentes Casos de uso
Tenemos dos tipos de dependencia
  1. extension <<extends>> Un caso de uso que se puede o no realizar para realizar el primero entonces decimos que se extiende al segundo
  2. inclusion <<included>> Un caso de uso que siempre tienes que reealizar para realizar el primero entonces decimos que incluye a este

Instaciacion.png

Generalización
Cuando un caso de uso se puede especializar en dos o más casos de uso

Generalizacion.png

Ejemplo

Un programa que gestione Cuentas bancarias para diferentes personas en una entidad bancaria.

Una persona puede acercarse a un banco para darse de alta como cliente.

El banco verifica con una base de datos de morosos un informe que debe de ser favorable para dar de alta a la persona como cliente del banco. una vez verificada la validez del la persona se procede a darla de alta en nuestra entidad. Por el hecho de darla de alta se le creará una cuenta bancaria con un importe inicial de 50 € a cargo del banco. La gestión interna de la economía del banco no es competencia de esta aplicación por lo que ese importe ya será tenido en cuenta en la gestión económica interna del banco. Posteriormente la persona puede realizar las siguientes acciones. Ingresar dinero, hacer transferencias internas, Sacar dinero, Abrir una cuenta, Cerrar una cuenta o darse de baja en la entidad bancaria. Se pide hacer un diagrama de casos de uso de este sistema.

package calucladora;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
 
 
public class VantanaCaluladora extends JFrame implements ActionListener{
	//Definimos atributos de mi clase
	JTextField tPantalla = new JTextField();
 
	//Definimos botones
	Character [] botones ={'7','8','9','C',(char)8592, //Caracter retroceso
			   '4','5','6','+','%',
			   '1','2','3','-',(char)177,//caracter +/-
			   '0','*','/','.','='};
 
 
	Font fuente = new Font("Arial", Font.BOLD,18);
 
	GridLayout lBotones = new GridLayout(4,4,5,5);
	BorderLayout lPpal = new BorderLayout();
 
	JPanel pBotones = new JPanel();
 
	//Menus
	JMenuBar barraMenu = new JMenuBar();
	JMenu mEstilo = new JMenu("Estilo");
	JMenu mAyuda = new JMenu("Ayuda");
	JMenu mSalir = new JMenu("Salir");
 
	JRadioButtonMenuItem  bRacional = new JRadioButtonMenuItem("Racionall");
	JRadioButtonMenuItem  bReal = new JRadioButtonMenuItem("Real");
 
	ButtonGroup grupo = new ButtonGroup();
 
	VentanaCalculadora(){
		addBotones();
 
 
	}
 
	public 
 
	public void actionPerformed(ActionEvent arg0) {
 
	}
 
 
}