Programacion

viernes, 4 de marzo de 2016

EJERCICIOS

EJEMPLO:
Realizar un programa que permita calcular automáticamente la pensión por manutención  a pagar en base a los siguientes parámetros:

public static void pension(){
            boolean a=true,b=true;
            double pension,sueldo=0;
            while (a==true){
                try{
                    int seleccion=Integer.parseInt(JOptionPane.showInputDialog("SELECCIONE SU TIPO DE LABOR:\n 1)JORNALERO\n2)ALBAÑIL\n3)PROFESIONAL1\n4)PROFESIONAL2  "));
                    if (seleccion==1){
                        while(b==true){
                            sueldo=Double.parseDouble(JOptionPane.showInputDialog("ingrese su sueldo: "));
                            if (sueldo >= 350 &&  sueldo <= 499){
                                b=false;
                            }
                            else{
                                JOptionPane.showMessageDialog(null, "EL SUELDO INGRESADO NO ES CORRESPONDIENTE A SU EMPLEO");
                            }
                        }
                       
                        int hijos=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE HIJOS QUE TIENE"));
                        if (hijos > 1){
                            pension=sueldo*0.30;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                        if (hijos == 1){
                            pension=sueldo*0.25;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                        a=false;
                    }
                    if (seleccion==2){
                        while(b==true){
                            sueldo=Double.parseDouble(JOptionPane.showInputDialog("ingrese su sueldo: "));
                            if (sueldo >= 500 &&  sueldo <= 849){
                                b=false;
                            }
                            else{
                                JOptionPane.showMessageDialog(null, "EL SUELDO INGRESADO NO ES CORRESPONDIENTE A SU EMPLEO");
                            }
                        }
                        int hijos=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE HIJOS QUE TIENE"));
                        if (hijos > 1){
                            pension=sueldo*0.35;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                    if (hijos == 1){
                        pension=sueldo*0.30;
                        JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE :  " + pension);
                    }
                    a=false;
                    }
                    if (seleccion==3){
                       while(b==true){
                            sueldo=Double.parseDouble(JOptionPane.showInputDialog("ingrese su sueldo: "));
                            if (sueldo >= 850 &&  sueldo <= 1200){
                                b=false;
                            }
                            else{
                                JOptionPane.showMessageDialog(null, "EL SUELDO INGRESADO NO ES CORRESPONDIENTE A SU EMPLEO");
                            }
                        }
                        int hijos=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE HIJOS QUE TIENE"));
                        if (hijos > 1){
                            pension=sueldo*0.42;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                        if (hijos == 1){
                            pension=sueldo*0.37;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                    a=false;
                    }
                    if (seleccion==4){
                       while(b==true){
                            sueldo=Double.parseDouble(JOptionPane.showInputDialog("ingrese su sueldo: "));
                            if (sueldo >= 1200){
                                b=false;
                            }
                            else{
                                JOptionPane.showMessageDialog(null, "EL SUELDO INGRESADO NO ES CORRESPONDIENTE A SU EMPLEO");
                            }
                        }
                        int hijos=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE HIJOS QUE TIENE"));
                        if (hijos > 1){
                            pension=sueldo*0.49;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                        if (hijos == 1){
                            pension=sueldo*0.44;
                            JOptionPane.showMessageDialog(null, "LA PENSION QUE USTED DEBE PAGAR ES DE : " + pension);
                        }
                    a=false;
                    }
                    if (seleccion<1 || seleccion>4){
                        JOptionPane.showMessageDialog(null, "LA SELECCION INGRESADA ES INCORRECTA");
                    }
                }catch(NumberFormatException error){
                    JOptionPane.showMessageDialog(null, "INGRESE SOLO NUMEROS ");
                    }
            }
        }

viernes, 8 de enero de 2016

Programacion

Analisis y Diseño

1.      Datos informativos:
Especialidad: Análisis de Sistemas  
Nombres: Jhoselyn Cristina Trujillo
Asignatura: Análisis de Sistemas
Docente: Ing. Estefanía Salinas
Fecha: 08 de marzo de 2016
Tema: Cuestionario


2.      Objetivo 

Contestar las siguientes preguntas enviadas por la licenciada las cuales corresponden a todo lo aprendido durante el ciclo académico.

3.      Introducción

El presente trabajo se dará la resolución a cada una de las preguntas para asi tener un cuestionario para luego poder dar la respectiva evaluación.

4.      Desarrollo

1)      Cuál es el significado en ingles de UML?

UML son las siglas de “Unified Modeling Language” o “Lenguaje Unificado de Modelado”. Se trata de un estándar que se ha adoptado a nivel internacional por numerosos organismos y empresas para crear esquemas, diagramas y documentación relativa a los desarrollos de software (programas informáticos).

2)      ¿Qué es UML y para qué sirve?

Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad, es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software.

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

Ø Visualizar: Nos permite ver lo que queremos lograr con el sistema, facilitándonos la comunicación y dándonos una representación gráfica del problema y su solución.
Ø  Especificar: Construir modelos con una estructura precisa, cubriendo las decisiones de análisis, diseño e implementación.
Ø  Construir: A pesar que UML no es un lenguaje de programación permite el desarrollo de plantillas aplicables a diferentes lenguajes.
Ø  Documentar: Cubre la documentación de la arquitectura y todos los detalles de un sistema. Expresando requisitos y pruebas, modelando las actividades y gestionando las versiones del proyecto.

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?

Usando UML se pueden construir numerosos tipos de diagramas:

Diagramas de casos de uso: representan a los actores y casos de uso (procesos principales) que intervienen en un desarrollo de software.

Diagramas de clases: para UML una clase es una entidad, no una clase software. Un diagrama de clases UML puede ser un diagrama del dominio o representación de conceptos que intervienen en un problema, o también un diagrama de clases software. El sentido de un diagrama UML se lo da la persona que lo construye.

Diagramas de secuencia: suelen usarse para representar objetos software y el intercambio de mensajes entre ellos, representando la aparición de nuevos objetos de izquierda a derecha.

Diagramas de colaboración: suelen usarse para representar objetos o clases y la forma en que se transmiten mensajes y colaboran entre ellos para cumplir un objetivo.

Diagramas de estados: suelen usarse para representar cómo evoluciona un sistema (cómo va cambiando de estado) a medida que se producen determinados eventos.

Otros diagramas: diagramas de actividad, diagramas de paquetes, diagramas de arquitectura software, etc.

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 (Asociación, dependencia o instancia y generalizació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?


22)  ¿Diseñe un escenario donde grafique los elementos los diagramas de secuencia?



23)  ¿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.

24)  ¿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.
25)  ¿Cuáles son las desventajas de realizar un diagrama de secuencia?
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.
Conclusiones
 con la resolución de este cuestionario se concluye teniendo un recuentro de todo lo que hemos visto durante el ciclo académico.

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/. {08-03-2014}

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

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



5.      Firma