Sei sulla pagina 1di 17

1

Fase 1 Análisis de Requisitos

German Eduardo Sandoval Rodriguez – 80.097.989

Tutor (a): FRANKLIN LIZCANO CELIS

Curso: 301403A_614

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA

PROGRAMA

JOSE ACEVEDO Y GOMEZ, Septiembre 2019.


2

Tabla de contenido

Introducción ............................................................................................................................... 4

Justificación...............................................................................Error! Bookmark not defined.

Contenido del trabajo ................................................................................................................. 5

Proyecto Elegido: ................................................................................................................... 5

Análisis de Requisitos ............................................................................................................ 5

Taller POO ............................................................................................................................. 8

Cuál es la diferencia entre programación estructurada y programación orientada a objetos

(ventajas y desventajas) .............................................................................................................. 8

Ventajas de la programación orientada a objetos. .................................................................. 8

Desventajas de la programación orientada a objetos. ............................................................ 9

Sintaxis para definir variables en Java, realizar comentarios, imprimir en consola y Java

Message Box ............................................................................................................................. 10

Sintaxis de los operadores lógicos ....................................................................................... 11

Sintaxis de los operadores relacionales ................................................................................ 11

Defina Clase, instancia de clase, atributo, comportamiento, identidad, constructor e

identificadores. .......................................................................................................................... 12

Informe los tipos de clase:.................................................................................................... 13

Describa el concepto de Modularización, Herencia, Polimorfismo y Encapsulamiento. .... 13

Informe cómo convertir un String a entero en Java y viceversa .......................................... 13

Defina el concepto de método y realice un ejemplo constructor ......................................... 14


3

Método: Un método es un conjunto de instrucciones que realizan una determinada tarea y

son similares a las funciones de los lenguajes estructurados. ................................................... 14

Qué función tiene el paquete Swing en Java y describa sus principales características ...... 14

Consultar la estructura y sintaxis de cómo funcionan las excepciones en Java. .................. 16

Conclusiones ............................................................................................................................ 17

Referencias ............................................................................................................................... 17
4

Introducción

Sobre este trabajo se hace para comprender los análisis de requisitos para la creación de

software así como también una abrebocas de conocimientos sobre los procedimientos que vamos

a usar en POO para este semestre


5

Contenido del trabajo

Proyecto Elegido:

Proyecto A:

En la ciudad de Florencia Caquetá el señor Luis Arturo Vélez, tiene una empresa de vigilancia

con 12 guardas que prestan el servicio de vigilancia a 2 empresas. En cada empresa se rotan los

turnos que realiza cada vigilante. Luis Arturo en su empresa además de los vigilantes, cuenta con

una secretaria y un supervisor que cumple con las ronda a los vigilantes.

La aplicación debe tener tres tipos de usuarios para su ingreso, un administrador que es Luis

Arturo, la secretaria y los vigilantes que realizan las consultas de los turnos y de las rotaciones

Análisis de Requisitos

El señor Luis Arturo Vélez tiene 12 Guardas estas prestan servicio para 2 empresas, se
requiere el ingreso de estos usuarios a la base de datos y consulta sobre los turnos.

El sistema registrara los turnos ingresados que por el administrador del sistema y consulta por
parte de un Power User (Secretaria) y User (Vigilantes).
6

UML Base de Datos

Código SQL

//// -- LEVEL 1
//// -- Tables and References

// Creating tables
Table Login as Login {
id int
User varchar
Password Password
Roles varchar
}

Table Usuarios {
id int
Nombre int
Apellidos varchar
Direccion varchar
Telefono int
idlogin int [ref: - Login.id] // inline relationship (many-to-one)
}

Table Turnos {
7

id int
FechadeTurno date
HoraIniciodeTurno datetime
HoraFinalTurno datetime
EsFestivo bool
EsFinDeSemana bool
idempleado int [ref: > Usuarios.id] // inline relationship (many-to-one)
}

UML Casos de USO

Para el dicho registro se necesitan como los siguientes:

Vigilantes: Esta registro iniciara con un ID autogenerada y los datos del vigilante, Nombre,
Apellidos, Direccion, Telefono del empleado.
8

Turnos: Esta tabla turno llevara otra llave primaria ID autogenerada, fecha fecha de ingreso,
Hora de inicio de turno, hora finalización de turno, Fin de semana y Festivos como datos Bool. Y
una Forgein Key llamada IDEmpleada para unir estas 2 tablas
Roles: Una Tabla adicional Llamada Roles la cual permitirá asignar 3 tipos de rol según el
usuario 1, el administrador (Agregar Borrar usuario consultas), PowerUser (Agregar Usuarios,
Consultas,) User(Consultas).

Taller POO

Cuál es la diferencia entre programación estructurada y programación orientada a objetos

(ventajas y desventajas)

La programación estructurada o llamada procedimental trajo ventajas en ciertos aspectos, sin

embargo cabe mencionar que la programación orientada a objetos es superior debido a sus patrones

de diseño.

En la programación estructurada podemos encontrar un bloque secuencial para las instrucciones

los cual hace que sea mucho más sencillo leer un programa ya que de arriba abajo podemos

identificar el código.

Ventajas de la programación orientada a objetos.

La programación orientada a objetos es relativamente moderna, es la evolución de la

programación estructurada.
9

La programación orientada a objetos se basa en lenguajes que soportan sintáctica y

semánticamente la unión entre los tipos abstractos de datos y sus operaciones, estas uniones se

llaman clases.

Reusabilidad: El hecho de manejar clases nos dan la ventaja de poderlas reusarlas otras

secciones del mismo software que estamos escribiendo.

Mantenibilidad: Debido a los patrones de diseño presentes en la POO, los objetos son fáciles

de comprender, esto nos permite encapsular los datos de la aplicación que estemos escribiendo y

solo exponer detalles relevantes del software.

Facilidad: Con poder dividir un problema en múltiples partes, hace primero que el problema

sea más pequeño y segundo nos permite concentrarnos en problemas específicos así como también

nos permite aislar errores y depurarlos nuestras objetos de manera sencilla.

Alterabilidad: Con los objetos podemos modificarlos nos permite borrar o añadir

características a nuestros objetos dependiendo el requerimiento que tengamos.

Desventajas de la programación orientada a objetos.

Complejidad: Es difícil la coordinación y organización entre programadores para aplicaciones

de gran escala.
10

Mantenimiento: Software de gran escala por lo generar presentan problemas después de

determinado tiempo, muchas los errores no son palpables sino después de cierto tiempo.

Reusabilidad: La reusabilidad funciona perfecto dentro del mismo software que estamos

creando, pero no es el caso para otros software que queramos desarrollar algunas de las clases

pueden llegar a funcionar pero no es en todos los casos.

Sintaxis para definir variables en Java, realizar comentarios, imprimir en consola y Java

Message Box

Sintaxis para definir una variable en Java / ejemplo:

float simpleInterest; //Declarando variable float

int time = 10, speed = 20; //Declarando e Inicializando la variable integer

char var = 'h'; // Declarando e Inicializando la variable

Sintaxis para definir un comentario en Java / ejemplo:

//Comentarios aqui (El texto en esta línea solo se considera comentario)

Sintaxis para imprimir en Consola en Java / ejemplo:

System.out.println

System.out.println("Esto sale en pantalla\n");

Sintaxis para usar Java Message box / ejemplo:


11

import javax.swing.JOptionPane;

public class HelloWorld {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "Hello World");

Sintaxis de los operadores lógicos

! Negación Not unario !false !(5==5) True


False
| Suma lógica – OR True | false True
binario (5==5)(5<4) True
^ Suma lógica True ^ False True
exclusiva – XOR (5==5)(5<4) True
& Producto lógico – True & False False
AND (5==5) & (5<4) False
binario
|| Suma Lógica con True || False True
cortocircuito (5==5) || (5<4) True
&& Producto lógico con False && True False
cortocircuito (5==5) && (5<4) False

Sintaxis de los operadores relacionales

Operador Utilización Resultado

> A>B verdadero si A es mayor que B

>= A >= B verdadero si A es mayor o igual que B


< A<B verdadero si A es menor que B
<= A <= B verdadero si A es menor o igual que B
12

== A == B verdadero si A es igual a B
!= A != B verdadero si A es distinto de B

Defina Clase, instancia de clase, atributo, comportamiento, identidad, constructor e

identificadores.

Clase: es una plantilla que nos permite crear un objeto.

Instancia de clase: Una instancia (en inglés, instance) es la particularización, realización


específica u ocurrencia de una determinada clase, entidad (modelo entidad-relación) o prototipo.
En general, cuando se ejecuta un programa en un computador, se dice que éste se instancia

Atributo: Los atributos son las características individuales que diferencian un objeto de otro y
determinan su apariencia, estado u otras cualidades.

Comportamiento: El comportamiento de los objetos de una clase se implementa mediante


funciones miembro o métodos. Un método es un conjunto de instrucciones que realizan una
determinada tarea y son similares a las funciones de los lenguajes estructurados.

Identidad: La identidad es la propiedad que permite a un objeto diferenciarse de otros.


Generalmente esta propiedad es tal, que da nombre al objeto. Tomemos por ejemplo el “verde”
como un objeto concreto de una clase color; la propiedad que da identidad única a este objeto es
precisamente su “color” verde.

Constructor: En programación orientada a objetos (POO), un constructor es una subrutina


cuya misión es inicializar un objeto de una clase. En el constructor se asignan los valores iniciales
del nuevo objeto. Se utiliza para crear tablas de clases virtuales y poder así desarrollar el
polimorfismo, una de las herramientas de la programación orientada a objetos.

Identificadores: Un identificador es un conjunto de caracteres alfanuméricos de cualquier


longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos
13

compuestos) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje
tiene sus propias reglas que definen como pueden estar construidos.

Informe los tipos de clase:

Describa el concepto de Modularización, Herencia, Polimorfismo y Encapsulamiento.

Modularización: la modularización en Java nos permite dividir nuestro software en partes


independientes, las cuales pueden ser construidas y probadas por separado para luego ser
ensambladas.

Herencia: La herencia es uno de los conceptos más cruciales en la POO (programación


orientada a objetos). La herencia básicamente consiste en que una clase puede heredar sus variables
y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre).

Polimorfismo: Es la capacidad que tienen los objetos de una clase de responder al mismo
mensaje o evento en función de los parámetros utilizados durante su invocación.

Encapsulamiento: se refiere a la creación de módulos independientes que se unen las funciones


de procesamiento de los datos. Estos tipos de datos definidos por el usuario se denominan clases.
Cada clase contiene dato

Informe cómo convertir un String a entero en Java y viceversa

Ejemplo String a Entero

String enteroString = "5";


int entero = Integer.parseInt(enteroString);

Ejemplo Double a String


double d = 8342342;
System.out.println(Double.toString(d));
14

Defina el concepto de método y realice un ejemplo constructor

Método: Un método es un conjunto de instrucciones que realizan una determinada tarea y

son similares a las funciones de los lenguajes estructurados.

Qué función tiene el paquete Swing en Java y describa sus principales características

El paquete swing tiene la función de componentes para interfaz de usuario siendo compatible
con múltiples plataformas.

Características

Amplia variedad de componentes: En general las clases que comiencen por "J" son
componentes que se pueden añadir a la aplicación. Por ejemplo: JButton.

Aspecto modificable (look and feel): Se puede personalizar el aspecto de las interfaces o
utilizar varios aspectos que existen por defecto (Metal Max, Basic Motif, Window Win32).

Arquitectura Modelo-Vista-Controlador: Esta arquitectura da lugar a todo un enfoque de


desarrollo muy arraigado en los entornos gráficos de usuario realizados con técnicas orientadas a
objetos. Cada componente tiene asociado una clase de modelo de datos y una interfaz que utiliza.
Se puede crear un modelo de datos personalizado para cada componente, con sólo heredar de la
clase Model.

Gestión mejorada de la entrada del usuario: Se pueden gestionar combinaciones de teclas


en un objeto KeyStroke y registrarlo como componente. El evento se activará cuando se pulse
dicha combinación si está siendo utilizado el componente, la ventana en que se encuentra o algún
hijo del componente.
15

Objetos de acción (action objects): Estos objetos cuando están activados (enabled) controlan
las acciones de varios objetos componentes de la interfaz. Son hijos de ActionListener.
Contenedores anidados: Cualquier componente puede estar anidado en otro. Por ejemplo, un
gráfico se puede anidar en una lista.

Escritorios virtuales: Se pueden crear escritorios virtuales o "interfaz de múltiples


documentos" mediante las clases JDesktopPane y JInternalFrame.

Bordes complejos: Los componentes pueden presentar nuevos tipos de bordes. Además el
usuario puede crear tipos de bordes personalizados.

Diálogos personalizados: Se pueden crear multitud de formas de mensajes y opciones de


diálogo con el usuario, mediante la clase JOptionPane.

Clases para diálogos habituales: Se puede utilizar JFileChooser para elegir un fichero, y
JColorChooser para elegir un color.

Componentes para tablas y árboles de datos: Mediante las clases JTable y JTree.
Potentes manipuladores de texto: Además de campos y áreas de texto, se presentan campos de
sintaxis oculta JPassword, y texto con múltiples fuentes JTextPane. Además hay paquetes para
utilizar ficheros en formato HTML o RTF.

Capacidad para "deshacer": En gran variedad de situaciones se pueden deshacer las


modificaciones que se realizaron.

Soporte a la accesibilidad: Se facilita la generación de interfaces que ayuden a la accesibilidad


de discapacitados, por ejemplo en Braille.
16

Consultar la estructura y sintaxis de cómo funcionan las excepciones en Java.

Las excepciones en Java son simplemente problemas, cuando sabemos que una instrucción en
especificico puede generar problemas lo que hacemos es escribir una excepción, esto nos permite
gestiones el error en especifico.

Ejemplo código

try
{
//Código que puede provocar errores
}
catch(Tipo1 var1)
{
//Gestión del error var1, de tipo Tipo1
}
[

catch(TipoN varN)
{
//Gestión del error varN, de tipo TipoN
}]
[
finally
{
//Código de finally
}
]
17

Conclusiones

Quiero dar gracias al profesor por darnos la explicación en las Web Conference la cual fue de

mucha ayuda para poder desarrollar los ejercicios así como el taller. La verdad no es muy

sencillo sin embargo logre entender estos conceptos.

Referencias

("Swing Biblioteca Grafica", s.f.) Recuperado 1 de Septiembre, 2019, de [Web]

https://www.ecured.cu/Swing_(biblioteca_gráfica)

("Java Conceptos Generales", s.f.) Recuperado 1 de Septiembre, 2019, de [Web]

https://interpolados.wordpress.com/tag/instancia-de-clase/

("Learn Java in One day and learn it well", s.f.) Recuperado 1 de Septiembre, 2019, de [Libro]

Jamie Chan. ISBN. 9781790789870

(SQL The Ultimate Begginer Guide) , s.f.) Recuperado 1 de Septiembre, 2019, de [Libro]

Steve Tale. ISBN. 9781519555212

Potrebbero piacerti anche