miércoles, 9 de marzo de 2016

CUESTIONARIO

1.    Tema:

·         Cuestionario

2.    Objetivo general.

Investigar acerca del tema java swing para que nos sirve, sus clases e interfaces, para la obtención de nuevos conocimientos.

3.    Introducción.

El presente trabajo tiene como finalidad dar a conocer información acerca del tema java swing para que nos sirve, sus clases e interfaces, para la elaboración de proyecto final.

4.    Desarrollo.
CUESTIONARIO ANÁLISIS I
1.    Cuál es el significado en ingles de UML?

·         Unified Modeling Language

2.    ¿Qué es UML y para qué sirve?
UML sirve para crear esquemas, diagramas y documentación relativa a los desarrollos de software (programas informáticos).

3.    ¿Cuáles son los objetivos de UML?

·      Proporcionar una notación y semánticas suficientes para poder alcanzar una gran cantidad de aspectos del modelado contemporáneo de una forma directa y económica.

·      Proporcionar las semánticas suficientes para alcanzar aspectos del modelado que son de esperar en un futuro, como por ejemplo aspectos relacionados con la tecnología de componentes, el cómputo distribuido, etc.

·      Proporcionar mecanismos de extensión de forma que proyectos concretos puedan extender el meta-modelo a un coste bajo.

·      Proporcionar mecanismos de extensión de forma que aproximaciones de modelado futuras podrían desarrollarse encima del UML.

·      Proporcionar semánticas suficientes para especificar las interfaces a bibliotecas para la comparición y el almacenamiento de componentes del modelo.

·      Ser tan simple como sea posible pero manteniendo la capacidad de modelar toda la gama de sistemas que se necesita construir.

·      UML es un lenguaje de modelado de propósito general que pueden usar todos los modeladores.

·      Debe ser un lenguaje universal, como cualquier lenguaje de propósito general.
Imponer un estándar mundial.

·      Ser independiente del proceso de desarrollo y de los lenguajes de programación.

4.    ¿Qué es un diagrama?
Los diagramas son las gráficas que describen el contenido de una vista. UML tiene nueve tipos de diagramas que son utilizados en combinación para proveer todas las vistas de un sistema: diagramas de caso de uso, de clases, de objetos, de estados, de secuencia, de colaboración, de actividad, de componentes y de distribución.

5.    ¿Cuántos diagramas existen en UML?

·         Diagrama de Clases
·         Diagrama de objetos
·         Diagrama de caso de uso
·         Diagrama de estados
·         Diagrama de secuencias
·         Diagrama de actividades
·         Diagrama de colaboración
·         Diagrama de Componentes
·         Diagrama de distribución

6.    ¿Qué es necesario realizar, antes de iniciar con el diseño?

Antes de iniciar con el diseño se debe realizar un análisis que abarca las abstracciones primarias (clases y objetos) y mecanismos que están presentes en el dominio del problema.
7.    ¿Cuáles son los elementos que intervienen en diagrama de casos de uso?

·         Actor:
·         Caso de Uso:
·         Relaciones de Uso, herencias y Comunicación.

8.    ¿Grafique los elementos que son utilizados en la creación de los diagramas de casos de uso?













9.    ¿Qué son los actores y como identificarlos?

Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema.

10.  ¿En los diagramas de casos de uso, cuando utilizar la relación include o extend?

·      Include: es obligatorio que vaya en el caso de uso.
·      Extende: es opcional, puede ir como no en el caso de uso.

11.  ¿Con un mismo diagrama, explique la utilización de la relación include y extend?



12.  ¿Cuándo utilizar los Casos de Uso?

Para especificar requerimientos cuando plantean escenarios, es decir, lo que pasa cuando alguien interactúa con el sistema, proporcionando un resumen para una tarea u objetivo.

13.  ¿Para qué sirven los Casos de Uso?

·         Para capturar el comportamiento deseado del sistema sin tener que especificar como se implementa ese comportamiento.
·         Como medio de comprensión del sistema para desarrolladores, usuarios finales y expertos del dominio.
·          Ayudan a validar la arquitectura y a verificar el sistema en el transcurso del desarrollo de este.

14.  ¿Para qué sirve los diagramas de robustez?

Los diagramas de robustez nos sirven para capturar el Qué hacer y luego ayudarnos a decidir Cómo hacerlo.
·         Qué hacer: Análisis
·         Cómo hacerlo: Diseño

15.  ¿Qué se comprueba con los diagramas de robustez?

Con los diagramas de Robustez se comprueba:

Qué hacer: Análisis
 Cómo hacerlo: Diseño







16.  ¿Cuáles son los elementos que intervienen en diseño de diagramas de robustez, describa cada uso?


17.  ¿Diseñe un escenario donde grafique los elementos de los diagramas de robustez?


18.  ¿Defina las relaciones posibles entre elementos de los diagramas de robustez?

Los actores solo pueden interactuar con interfaces.
Las entidades únicamente se relacionan con controladores.
Los controladores pueden interactuar con interfaces, entidades y otros controladores.

19.  ¿Qué es un diagrama de secuencia y para qué sirve?

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso
Pueden ser usados en dos formas.
·De instancia: describe un escenario específico (un escenario es una instancia de la ejecución de un caso de uso).
·Genérico: describe la interacción para un caso de uso. Utiliza ramificaciones condiciones y bucles.

20.  ¿Cuáles son los elementos que interviene en el diseño de diagramas de secuencia?



21.  ¿Diseñe un escenario donde grafique los elementos los diagramas de secuencia?


22.  ¿Cuándo utiliza un mensaje propio (recursivo)?

Mensaje de un participante a sí mismo. La ocurrencia de ejecución resultante aparece encima de la ejecución de envío.

23.  ¿Cuáles son las ventajas de realizar un diagrama de secuencia?

Ventajas.
·         Permite elegir el orden en que pueden hacerse las cosas.
·         Puede describir procesos o casos de uso.
·         Muestra los aspectos dinámicos de un sistema.
·         Establece las reglas de secuencia a seguir.
·         Ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso.

24.  ¿Cuáles son las desventajas de realizar un diagrama de secuencia?
Desventajas

La gran desventaja de los diagramas de colaboración es que no indican de forma explícita que los objetos ejecutan qué actividades ni tampoco la forma en que el servicio de mensajería trabaja entre ellos. Para mostrar tales interacciones de forma clara son necesarios los diagramas de interacción, los cuales son más utilizados en la práctica.

5.    Conclusiones

Se usa para evitar describir el mismo flujo de eventos repetidas veces, poniendo comportamiento común en un caso de uso aparte.

6.    Bibliografía o web grafía  (APA)

Gonzales, B. (2014). Diagrama de secuencia y diagrama de colaboración. Recuperado de: https://prezi.com/86cur3loj_kf/diagrama-de-secuencia-y-diagrama-de-colaboracion/. {09-03-2014}

Caso de uso (2012). Caso de uso. Recuperado de: http://users.dcc.uchile.cl/~psalinas/uml/casosuso.html. {09-03-2014}

Carvajal, M. (2014). Diagrama de secuencia. Recuperado de: http://exposicinds.blogspot.com/. {09-03-2014}


Iconix. (2012). Diagrama de robustez - iconix. Recuperado de: http://iconix-software.blogspot.com/2012/07/diagrama-de-robustez-iconix.html. {09-03-2014}

viernes, 4 de marzo de 2016

CALCULAR PENSIÓN ALIMENTICIA

Ingresar el sueldo de un trabajador, Categoría, condición(Estable, contratado)  y reportar el pago total que se le debe hacer de acuerdo a lo siguiente:
El porcentaje de Bonificación (respecto al sueldo) se calcula de acuerdo a la siguiente tabla:

CategoríaEstableNo Estable
A20%17%
B18%15%
C15%14%
D12%10%
El cálculo del descuento es respecto al (Sueldo + Bonificación)
Estable: 6%            No estable: 4%


package pension;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Pension {

    public static void main(String[] args) {
        Scanner lector = new Scanner(System.in);

        JOptionPane.showMessageDialog(null,"SISTEMA PARA CALCULAR VALOR MANUTENCION");
        Object trabajo = JOptionPane.showInputDialog(null,"SELECCIONE EL AREA DE TRABAJO",
         "AREAS", JOptionPane.QUESTION_MESSAGE, null,
        new Object[] { "Seleccione","1)JORNALERO  SUELDO DE 350 A 499", "2)ALNAÑIL  SUELDO DE 500 A 849", "3)PROFESIONAL1 SUELDO DE 850 A 1200", "4)PROFESIONAL2 SUELDO DE 1200 A +" },"Seleccione");
        int seleccion = 0;
        if (seleccion != -1){
           System.out.println("seleccionada opcion " + (seleccion + 1));
     
        int opcion;
        opcion = lector.nextInt();
        switch (opcion) {
            case 1:
                double sueldo;
                int hijos;
                System.out.println("ingrese su sueldo");
                sueldo = lector.nextDouble();
                if (sueldo >= 350 && sueldo <= 499) {
                    System.out.println("Ingrese cuantos hijos tiene");
                    hijos = lector.nextInt();
                    if (hijos >= 2) {
                        int pension = (int) (sueldo * 30 / 100);
                        System.out.println("Su pension a pagar es de " + pension);
                    } else {
                        int pension = (int) (sueldo * 25 / 100);
                        System.out.println("Su pension a pagar es de " + pension);
                        break;
                    }
                } else {
                    System.out.println("Su valor no es el correcto");
                }
                break;
            case 2:
                double sueldo1;
                int hijos1;
                System.out.println("ingrese su sueldo");
                sueldo1 = lector.nextDouble();
                if (sueldo1 >= 500 && sueldo1 <= 849) {
                    System.out.println("Ingrese cuantos hijos tiene");
                    hijos1 = lector.nextInt();
                    if (hijos1 >= 2) {
                        int pension1 = (int) (sueldo1 * 35 / 100);
                        System.out.println("Su pension a pagar es de " + pension1);
                    } else {
                        int pension1 = (int) (sueldo1 * 30 / 100);
                        System.out.println("Su pension a pagar es de " + pension1);
                        break;
                    }
                } else {
                    System.out.println("Su valor no es el correcto");
                }
                break;
            case 3:
                double sueldo2;
                int hijos2;
                System.out.println("ingrese su sueldo");
                sueldo2 = lector.nextDouble();
                if (sueldo2 >= 850 && sueldo2 <= 1200) {
                    System.out.println("Ingrese cuantos hijos tiene");
                    hijos2 = lector.nextInt();
                    if (hijos2 >= 2) {
                        int pension2 = (int) (sueldo2 * 42 / 100);
                        System.out.println("Su pension a pagar es de " + pension2);
                    } else {
                        int pension2 = (int) (sueldo2 * 37 / 100);
                        System.out.println("Su pension a pagar es de " + pension2);
                        break;
                    }
                } else {
                    System.out.println("Su valor no es el correcto");
                }
                break;
            case 4:
                double sueldo4;
                int hijos4;
                System.out.println("ingrese su sueldo");
                sueldo4 = lector.nextDouble();
                if (sueldo4 >= 1200) {
                    System.out.println("Ingrese cuantos hijos tiene");
                    hijos4 = lector.nextInt();
                    if (hijos4 >= 2) {
                        int pension4 = (int) (sueldo4 * 42 / 100);
                        System.out.println("Su pension a pagar es de " + pension4);
                    } else {
                        int pension4 = (int) (sueldo4 * 37 / 100);
                        System.out.println("Su pension a pagar es de " + pension4);
                        break;
                    }
                } else {
                    System.out.println("Su valor no es el correcto");
                }
                break;
            default:
                System.out.println("Su numero ingresado no esta en la lista ");
        }
    }
    }
}