Sunteți pe pagina 1din 25

ASIGNATURA

PROGRAMACION ORIENTADA A OBJETOS


TEMA
Unidad 1: Fase 1 - Análisis de requisitos

PRESENTADO POR
FABIAN ERNESTO MORALES SIERRA
Código:80108397
JHOAN MANUEL LEON
Código: 79882255
GERMAN LOPEZ
CODIGO 80096173

DOCENTE
FRANKLIN LIZCANO CELIS

Septiembre de 2018
Contenido

1.Elección del proyecto a desarrollar: ....................................................................... 3


2. Respuesta a Preguntas Planteadas ........................................................................ 3
2.1 Cuál es la diferencia entre programación estructurada y programación
orientada a objetos. ..................................................................................................... 3
2.2 Ventajas y desventajas de la programación orientada a objetos...................... 3
2.3 Sintaxis para definir variables en Java. .............................................................. 4
2.4 Sintaxis para imprimir en consola en Java ........................................................ 4
3. Análisis de requisitos del proyecto ...................................................................... 16
3.1 Definición del problema: .................................................................................... 16
3.2 Objetivo General: ............................................................................................... 17
3.3 Objetivos Específicos: ......................................................................................... 18
3.4 Requisitos funcionales y No funcionales ........................................................... 18
Conclusiones .................................................................................................................. 25
1.Elección del proyecto a desarrollar:
En el foro de la actividad se decidió por mayoría seleccionar el proyecto B. En el sector
Norte, Juan López tiene una pequeña empresa encargada de la reparación de calzado,
esta empresa tiene por nombre “Clínica Calzaditos”. Como sus trabajos son de calidad
cada vez más son los usuarios que hacen uso de este servicio y por la misma razón,
Clínica Calzaditos requiere registrar los clientes al igual que sus ventas. Actualmente
Clínica Calzaditos solo cuenta con seis clientes (Véase figura 1). De igual manera se
debe tener en cuenta otros roles de usuario

2. Respuesta a Preguntas Planteadas

2.1 Cuál es la diferencia entre programación estructurada y programación


orientada a objetos. (FABIAN MORALES)
RTA:
 La POO es una evolución de la programación estructurada.
 La POO incorpora conceptos como el polimorfismo y la comunicación entre
objetos
 Los programas con modelo estructurado son más fáciles de entender ya que
puede leerse en secuencia.
 La POO encapsula Datos y métodos en objetos que están relacionados
 La unidad de programación es la Clase.
 La programación estructurada está orientada a acciones
 La unidad de la programación estructura es la acción
 La programación estructurada consta de una estructura donde se ejecuta paso a
paso y mediante una secuencia lógica una serie de instrucciones.
 La POO está basada en entidades y objetos que abstraen un problema general
para luego particularizarlo de acuerdo a las variables que se reciben.

2.2 Ventajas y desventajas de la programación orientada a objetos


(FABIAN MORALES)

 Ventajas:
Sus componentes se pueden reutilizar
Se puede contar con una interfaz gráfica de usuario para las aplicaciones
Facilidad de mantenimiento del código
Se acopla fácilmente a la BD por su similitud en la estructura
La ejecución del programa es fácil y sencilla
 Desventajas:
Si se forza el lenguaje puede perderse objetos y características
Los objetos requieren una extensa documentación
Puede haber diferencias en los conceptos de los programadores frente a
un objeto
No hay una única forma de resolver un problema

2.3 Sintaxis para definir variables en Java. (FABIAN MORALES)


En Java existen dos tipos de variables, primitivas y de referencia.
Primitivas: pueden ser char, boolean, byte, short, int, long, double o float, una vez ha
sido declarada no puede cambiar su tipo primitivo.
Las variables primitivas pueden ser declaradas como variables de clase (static),
variables de instancia, parámetros de métodos, o variables locales. Vamos a ver un
ejemplo de estas declaraciones:
1
byte b;
2
boolean myBooleanPrimitive;
3
int x, y, z;
4

Referencia: es usada para acceder a un lugar , es decir a un objeto, las variables de


referencia pueden ser declaradas como variables estáticas, variables de instancia,
parametros de métodos, o como variables locales. Podemos declarar una o mas variables
de referencia, del mismo tipo, en una misma linea. Ahora vamos a ver un ejemplo de
este tipo de variables:

1
Object o;
2
Dog myNewDogReferenceVariable;
3
String s1, s2, s3; //Declara 3 variables de tipo String
4

2.4 Sintaxis para imprimir en consola en Java (GERMAN LOPEZ )

Sintaxis para imprimir en consola en Java

Para realizar la impresión a través de la consola de Java usaremos la siguiente

sintaxis:

System.out.println ("Mensaje a mostrar");


Sin embargo, si desea concatenar diferentes variables, usará la siguiente

sintaxis:

System.out.println ("El precio es de " + precio + " euros");

Nótese que se usa el signo “+” para concatenar los valores que se desean
mostrar en consola, colocando las cadenas de caracteres entre comillas

La sintaxis básica es: System.out.println ("Mensaje a mostrar");

2.5 Sintaxis para realizar comentarios en Java

Los comentarios tradicionales son los mismos que se usan en C.


Las características de los comentarios tradicionales en Java son las siguientes:
• Empieza con los caracteres /* y acaba con */.
• Pueden ocupar más de una línea y pueden aparecer en cualquier lugar donde
pueda aparear un espacio en blanco.
• No pueden anidarse.

2. 6. Sintaxis de los operadores lógicos y relacionales (JHOAN LEON)

Los operadores son muy similares a los de C++

Operadores Relacionales: Permiten comparar variables según relación de


igualdad/desigualdad o relacción mayor/menor. Devuelven siempre un valor boolean.
• '>': Mayor que
• '<': Menor que
• '==': Iguales
• '¡=': Distintos
• '>=': Mayor o igual que
• '<=': Menor o igual que

Operadores Lógicos: Nos permiten construir expresiones lógicas.


• '&&' : devuelve true si ambos operandos son true.
• '||' : devuelve true si alguno de los operandos son true.
• '!' : Niega el operando que se le pasa.
• '&' : devuelve true si ambos operandos son true, evaluándolos ambos.
• '|' : devuelve true uno de los operandos es true, ev

2.7. Defina Clase, instancia de clase, atributo, comportamiento, identidad,


constructor e identificadores. (JHOAN LEON)

clase: En el lenguaje de programación Java, es un tipo que define una implementación


en particular de una especie de objeto. La definición de una clase define variables y
métodos de instancia y de clase, así como especificar las interfaces que la clase
implementa y la super-clase inmediata de la clase. Si la super-clase no es explícitamente
especificada, esta será implícitamente la clase Object.

Instancia de clase: Se llama instancia a todo objeto que derive de algún otro. De esta
forma, todos los objetos son instancias de algún otro, menos la clase Object que es la
madre de todas. Un objeto es, por lo tanto, el "resultado" de una clase. En realidad, un
objeto es una instancia de una clase, por lo que se pueden intercambiar los términos
objeto o instancia (o incluso evento). ... Si tenemos una clase llamada auto, los objetos
Peugeot y Renault serán instancias de esa clase.
Atributo: Los atributos se guardan en variables denominadas de instancia, y cada objeto
particular puede tener valores distintos para estas variables. Las variables de instancia
también denominados miembros dato, son declaradas en la clase pero sus valores son
fijados y cambiados en el objeto.
Comportamiento: El comportamiento de una clase determina qué objetos de esa clase
hacen cambiar sus atributos y también qué hacen cuando otros objetos les piden hacer
algo. El comportamiento para una clase de objetos se implementa a través de métodos.
Identidad: La identidad es una propiedad de un objeto que lo diferencia del resto; dicho
con otras palabras, es su identificador (concepto análogo al de identificador de una
variable o una constante).
Constructor: 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. Al utilizar un
constructor, el compilador determina cuál de los objetos va a responder al mensaje
(virtual) que hemos creado.
Identificadores: los identificadores son elementos textuales (también llamados
símbolos) que nombran entidades del lenguaje. Algunas de las de entidades que un
identificador puede denotar son las variables, las constantes, los tipos de dato, las
etiquetas, las subrutinas (procedimientos y funciones) y los paquetes.

2.8. Informe los tipos de clase (GERMAN LOPEZ)


El modificador es el tipo de clase que se está creando. De acuerdo a este modificador,
nuestra clase puede tener diferentes características. Según cómo necesitamos que
funcione nuestra clase podemos elegir entre un tipo u otro. En java existen 4 tipos de
clases:

• Public

• Abstract

• Final
• Synchronizable
El modificador es el tipo de clase que se está creando. De acuerdo a este modificador,
nuestra clase puede tener diferentes características. Según cómo necesitamos que
funcione nuestra clase podemos elegir entre un tipo u otro. En java existen 4 tipos de
clases:

Informe los tipos de clases


Las clases se describen por medio de diagramas de clases la notación para una clase es
una caja rectangular que contiene el nombre de la clase

Nombre de la clase

Según la lectura hay dos tipos de clase


Clases con estereotipos
Clases para casos de uso

El tipo de funcionalidad o “la razón de ser” de un objeto dentro de una arquitectura se


conoce como su estereotipo. Siguiendo la metodología de casos de uso, la arquitectura
del sistema para el modelo de análisis se basará en tres estereotipos:

El estereotipo entidad para los objetos que guardan información sobre el estado interno
del sistema a corto y largo plazo. Estos objetos corresponden al dominio del problema.
Un ejemplo de objeto entidad es un registro de usuario con sus datos y comportamiento
asociados.
El estereotipo borde para objetos que implementan las interfaces del sistema con el
mundo externo, correspondientes a todos los actores, incluyendo a aquellos que no son
humanos. Un ejemplo de objeto borde es una interface de usuario o pantalla para insertar
o modificar información en el registro de usuario. Otro ejemplo es un objeto que se
comunica con una base de datos externa al sistema.
El estereotipo control (control) para objetos que implementan el comportamiento o
control de la lógica de los casos de uso, especificando cuándo y cómo el sistema cambia
de estado. Los objetos control modelan la funcionalidad que no se asocia naturalmente
con un solo objeto. Un ejemplo típico de objeto control es validar un usuario existente o
insertar uno nuevo. Este comportamiento requiere la interacción de múltiples objetos y
actores.
Los tres estereotipos de la arquitectura de análisis se pueden describir a través de
diagramas de iconos en lugar de rectángulos, se muestran como iconos en la figura 7.6.
Clases de casos de uso
En cada caso de uso se identifican los objetos necesarios para su implementación. Los
objetos se identifican según sus estereotipos de manera que correspondan con la
funcionalidad ofrecida en cada uno. Se define explícitamente qué objeto es responsable
de cuál comportamiento dentro del caso de uso.
Se dice que se debe iniciar identificando los objetos de borde luego los objetos entidad
y por último los objetos de control
La asignación de objetos a cada caso de uso se hace de acuerdo con los siguientes
principios:
La funcionalidad de los casos de uso que depende directamente de la interacción del
sistema con el mundo externo se asigna a los objetos borde.
La funcionalidad relacionada con el almacenamiento y manejo de información del
dominio del problema se asigna a los objetos entidad.
La funcionalidad específica a uno o varios casos de uso y que afecta a múltiples objetos
a la vez, o que no se relaciona naturalmente con ningún objeto borde o entidad, se asigna
a los objetos control. En general, se asigna un solo objeto control por caso de uso. Si el
caso de uso es muy complejo, se pueden asignar objetos de control adicionale

2.9.Describa el concepto de Modularización y de un ejemplo. (JHOAN LEON)

Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas
módulos), cada una de las cuales debe ser tan independiente como sea posible de la
aplicación en sí y de las restantes partes
Un ejemplo más esclarecedor, se puede considerar que una casa o un departamento
consisten en varias unidades que interaccionan: las instalaciones eléctricas, de
calefacción y enfriamiento, el servicio sanitario y la estructura. Más que considerar que
esos sistemas son un enredo gigantesco de alambres, ventilaciones, tubos y tableros, el
arquitecto organizado que diseña una casa o departamento los considera como módulos
separados que interactúan en formas bien definidas. Al hacer esa consideración se aplica
la modularidad para aclarar las ideas, en una forma natural de organizar las funciones en
unidades distintas y manejables. Otra forma que nuestro arquitecto “organizado” puede
usar para ordenar su rompecabezas es el de la estructura jerárquica, donde cada enlace
que va hacia arriba se puede leer como "es un(a)", como en "una cabaña es una casa es
una construcción" En forma parecida, el uso de la modularidad en un sistema de
programación también puede proporcionar una poderosa estructura organizativa que
aporte claridad a una implementación.

2.10. Describa el concepto de Herencia y de un ejemplo. (JHOAN LEON)

La herencia es un mecanismo que permite la definición de una clase a partir de la


definición de otra ya existente. La herencia permite compartir automáticamente métodos
y datos entre clases, subclases y objetos.

2.11. Describa el concepto de Polimorfismo y de un ejemplo. (JHOAN LEON)


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. Un objeto
polimórfico es una entidad que puede contener valores de diferentes tipos durante la
ejecución del programa.

• ‘ este método devuelve la suma de 2 parámetros


Function suma(int numero1,int numero2)

‘ este método devuelve la suma de los 3 parámetros
Function suma(int numero1,int numero2, int numero3)

‘ este método devuelve la concatenación de cadena1 y cadena2
Function suma(String cadena1, String cadena2)
2.12. Describa el concepto de Encapsulamiento y de un ejemplo. (JHOAN LEON)
Es el proceso que consiste en organizar los datos y operaciones (métodos) de una clase
que constituyen su estructura y su comportamiento con el fin de evitar el acceso a datos
por cualquier otro medio que no sea el especificado y por esto el encapsulamiento de
datos asegura la integridad de los datos que contiene el objeto.
class Student
{
private $Name;
function setName($name)
{
//validamos si el valor es un string
if(is_string($name))
{
//agregamos el nombre a nuestra propiedad privada
$this->Name = $name;
echo $this->Name;
}
else
{
echo 'No es un String';
}
}
}
//creamos una instancia de la clase
$objeto = new Student();
echo $objeto->setName("Daniel");
class Student
{
private string Name;

public string setName(string name)


{
//Asignamos el nombre a la propiedad privada
Name = name;
return Name;
}

}
class Program
{
static void Main(string[] args)
{
//Se Instancia la clase
Student NewStudent = new Student();

Console.Write("Tu Nombre es {0}", NewStudent.setName("Daniel"));

Console.ReadKey();

}
}

En este ejemplo se puede observar la clase Student la cual tiene una propiedad llamada
Name y el nivel de acceso de la misma es Privado, por lo cual se puede observar que
existe un método para agregar el nombre a la variable privada, dicho método verifica
que la variable sea string y la asigna, el mismo ejemplo está escrito en C# sin embargo
aquí se puede notar algo diferente que no se utiliza una condición para saber si es string
o no.

2.13. Informe cómo convertir un String a entero en Java y viceversa (JHOAN LEON)
Para convertir un String (cadena) a int (entero) hay que emplear el método estático de la
clase Integer, parseInt
Ejemplo:
String enteroString = "5";
int entero = Integer.parseInt(enteroString);
Para convertir int(entero) a String sólo debemos hacer una llamada al método estático
de la clase Integer, toString
Ejemplo:
int entero = 1;
String enteroString = Integer.toString(entero);

2.14. Defina el concepto de método y realice un ejemplo constructor (JHOAN LEON)

En la programación, un método es una subrutina cuyo código es definido en una clase y


puede pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos,
como a un objeto, como es el caso de los métodos de instancia

Un Constructor es una función, método, etc, de las clases, la cual es llamada


automáticamente cuando se crea un objeto de esa clase.

Ejemplo.

Se Desea crear un objeto del tipo Coordenadas, que indique, la posición de un punto en
el plano cartesiano, y permita calcular la distancia existente con otro punto, además del
punto medio entre ellos.

1 /*Archivo Coordenadas.java*/
2
3 public class Coordenadas {
4 private int x,y;//Atributos
5 public Coordenadas (int x1 , int y1)//constructor
6 {
7 //asignamos esos valores
8 x=x1;
9 y=y1;
10 }
11 public double Distancia (int x1, int y1)
12 {
13 //este método recibe como parametros
14 //las coordenadas del segundo punto
15 double D;
16 D=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
17 return D;//Retornamops el valor de la distancia
18 }
19 public void Pmedio(int x1, int y1)
20 {
21 double p1, p2;
22 p1=(x+x1)/2;
23 p2=(y+y1)/2;
24 System.out.println("El puntomedio es: "+p1+","+p2);
25 }
26 }

Explicación:

Un método, si va a devolver algún valor, éste debe especificarse cuando se hace la


definición del mismo, para el caso, el método Distancia, devuelve el valor de la
distancia, es por ello que lo especificamos como public double. Además, que, cuando
realizamos la llamada de ese método, es en ese preciso lugar que aparecerá el valor que
devuelve. Por otra parte, los atributos, son de acceso privado, lo cual implica que, sólo
podemos acceder a ellos, en la clase Coordenadas.

2.15. Qué función tiene el paquete Swing en Java y describa sus principales
características (JHOAN LEON)
Swing es un toolkit para Java . Es parte de Sun Microsystems ' Java Foundation Classes
(JFC) - un API para proporcionar una interfaz gráfica de usuario (GUI) para programas
de Java. Swing fue desarrollado para proporcionar un sofisticado conjunto más del GUI
componentes que el anterior Window Toolkit
Entre las caracteristicas de swing que se pueden encontrar, muchas de éstas
características se encuentran disponibles únicamente en la versión 6 de Java o superior.
Empecemos por mencionar algunas de ellas:

1. Cómo puedo abrir un archivo con la aplicación que tiene asociada por defecto.
Ejemplo archivos .html con FireFox. Respuesta: usando la clase Desktop How to
Integrate with the Desktop Class.

2. Necesita programar una tarea que debe ejecutarse cada cierto tiempo. Respuesta:
la clase Timer How to Use Swing Timers.

3. Necesito cambiar el orden según el cual mis componentes ganan el foco cuando
presiono tab. Respuesta: utilice una política “traversal” de foco How to Use the Focus
Subsystem.

4. Ventanas de dialogo modales.How to Use Modality in Dialogs.

5. Necesita imprimir tablas(How to Print Tables), texto(How to Print Text).

6. Crear ventanas de splash (How to Create a Splash Screen).

7. Ubicar elementos en el System Tray (icono junto al reloj) How to Use the
System Tray

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


Java. (JHOAN LEON)

Una excepción es un objeto que se genera automáticamente cuando se produce un


acontecimiento circunstancial que impide el normal funcionamiento del programa:

• Dividir por cero


• No encontrar un determinado fichero

• Utilizar un puntero nulo en lugar de una referencia a un objeto

El objeto generado “excepción” contiene información sobre el acontecimiento ocurrido


y transmite esta información al método desde el que se ha generado la excepción.
La ocurrencia de estas situaciones excepcionales provocará la terminación no controlada
del programa o aplicación.
El siguiente código de ejemplo origina una excepción de división por cero:
public class PruebaExcepcion {
public static void main( String[] a ) {
int i=0, j=0, k;
k = i/j; // Origina un error de division-by-zero
}
}
Si compilamos y ejecutamos esta aplicación Java, obtendremos la siguiente salida por
pantalla:
> javac PruebaExcepcion.java
> java PruebaExcepcion
java.lang.ArithmeticException: / by zero
at PruebaExcepcion.main(melon.java:5)

3. Análisis de requisitos del proyecto

3.1 Definición del problema:


La Clínica Calzaditos no cuenta actualmente con un sistema de información confiable

que permita controlar de manera ordenada sus clientes y empleados, el control de las

reparaciones de calzado al igual que el informe de las mismas, actualmente la

información se registra de manera manual exponiéndose a la perdida de la misma o a


errores voluntarios e involuntarios que no permiten un buen desarrollo de la

administración de reaparición de calzado, además el riesgo de pérdida económica para

sus propietarios.

Se hace necesaria la implementación de una herramienta que permita automatizar los

procesos porque en la actualidad no se cuenta con una información estadística de

clientes lo que afecta el estudio de mercado. Tampoco cuenta con un lugar adecuado

registro de las reparaciones donde se cuente con toda la información necesaria para la

misa al igual que un informe de las reparaciones en curso o terminadas.

Conjugados todos los posibles riesgos se puede concluir que no se cuenta actualmente

con una gestión administrativa automatizada y por este motivo no se puede tomar

decisiones gerenciales para mejorar los aspectos anteriormente mencionados. Se

considera prioritaria una inversión en tecnología para el desarrollo que evitará perdidas

y ayudara para el crecimiento progresivo de la empresa

3.2 Objetivo General:


Desarrollar un sistema de información, con el cual se puedan solucionar las necesidades

de manejo de información, con lo cual se busca reducir el riesgo de pérdidas

económicas, llevar un registro de las reparaciones realizadas al igual que su avance, en

dicho registro se debe contar con toda la información necesaria, como el cliente, el

valor, el tipo de calzado, el tipo de arreglo y el avance, de la misma manera se debe

llevar un registro minuciosos de clientes con su información necesaria así mismo debe

haber un módulo de reportes y consultas donde se pueda obtener información de toda la

actividad de la Clínica Calzaditos.


3.3 Objetivos Específicos:
 Crear un módulo de registro de clientes donde se pueda ingresar y modificar la

información necesaria de los clientes de la empresa.

 Crear un módulo de creación, actualización, consulta y administración de

usuario de la empresa que tendrán acceso a la aplicación.

 Crear un módulo de registro de reparaciones donde se cuente con la información

necesaria de cada una de las reparaciones que se realizan en la empresa, tanto el

valor, el tipo de calzado, el tipo de reparación y el avance entre otras.

 Crear un módulo de consultas donde se puede consultar históricos o

reparaciones especificas dependiendo del criterio de la búsqueda que se

seleccione.

 Crear un módulo de reportes donde se pueda consultar informes específicos

dependiendo los filtros que se seleccionen.

3.4 Requisitos funcionales y No funcionales

Nombre: Registro de clientes

Autor: Fabian Morales

Fecha: 02/09/2018

Descripción:
En este módulo se creara, se actualizara y se administrara el registro de clientes de
Clínica Calzaditos, se debe registrar tanto la información biográfica como de contacto.

Actores:
 Cliente
 Empleado de clínica calzaditos con username y contraseña
Precondiciones:
1. La persona que registrara la información debe contar con un username y
contraseña.
2. El usuario debe contar con los permisos de registro de clientes
3. Se debe contar con toda la información necesaria para el registro de la misma
en la aplicación.
Flujo Normal:
1. Se debe ingresar a la aplicación.
2. Digitar username y contraseña
3. Ingresar al menú: clientes – registro de clientes
4. En esta opción se debe ingresar ya sea nombres y apellidos o número de cedula
y dar clic en buscar.
5. La aplicación realiza la búsqueda, si encuentra resultados debe listarlo y en la
parte derecha la opción de ingresar al registro.
6. Si no encuentra resultados para la búsqueda debe habilitar un botón que diga
crear.
7. Al dar clic en dicho se debe desplegar un formulario para registrar la
información de la cual existirá una que es obligatoria y otra opcional.

Flujo Alternativo:
5.1 si se cuenta con los permisos de actualización, los campos del registro los traerá
editables de lo contrario solo los traerá de consulta.
5.2 si se modifica el número de identificación la aplicación al dar clic en guardar
validara que no exista otra persona con el mismo tipo y número de identificación.

Poscondiciones:
1. Al dar clic en guardar, se validará que los campos obligatorios estén
diligenciados y si así lo es mostrara un mensaje de éxito.
2. De lo contrario marcara en rojo los campos que hagan falta.

Nombre: Administración de usuarios

Autor: Fabian Morales

Fecha: 02/09/2018

Descripción:
En este módulo se creara, se actualizara y se administrara usuarios que tendrán acceso
a la aplicación, desde allí se asignaran permisos y perfiles de acuerdo a los roles que
desempeñen en la empresa.
Actores:
 Administrador de la aplicación
 Empleado de clínica calzaditos.
Precondiciones:
1. La persona que registrara la información debe contar con un username y
contraseña y permisos de administrador dados previamente.
2. Se debe contar con toda la información necesaria para el registro de la
misma en la aplicación.
Flujo Normal:
1. Se debe ingresar a la aplicación.
2. Digitar username y contraseña
3. Ingresar al menú: administración - usuarios
4. En esta opción se debe ingresar ya sea nombres y apellidos, número de
cedula o username y dar clic en buscar.
5. La aplicación realiza la búsqueda, si encuentra resultados debe listarlo y
en la parte derecha la opción de ingresar al registro.
6. Si no encuentra resultados para la búsqueda debe habilitar un botón que
diga crear.
7. Al dar clic en dicho se debe desplegar un formulario para registrar la
información de la cual existirá una que es obligatoria y otra opcional.
8. Se debe seleccionar el perfil que se asignara de acuerdo con el Rol que
desempeñen en la empresa, estos son:
9. Administrador del sistema
- Funcionario mostrador
- Administrador almacén
- Funcionario mostrador con reportes

Flujo Alternativo:
5.1 si se cuenta con los permisos de actualización, los campos del registro los traerá
editables de lo contrario solo los traerá de consulta.
5.2 si se modifica el número de identificación la aplicación al dar clic en guardar
validara que no exista otra persona con el mismo tipo y número de identificación.

Poscondiciones:
3. Al dar clic en guardar, se validará que los campos obligatorios estén
diligenciados y si así lo es mostrara un mensaje de éxito.
4. De lo contrario marcara en rojo los campos que hagan falta.

Nombre: Registro de reparaciones

Autor: Fabian Morales


Fecha: 02/09/2018

Descripción:
En este módulo se registraran todas las reparaciones solicitadas en la empresa, estas
deben ir asociadas a un tipo de calzado, un tipo de servicio y un cliente.

Actores:
 Funcionario mostrador.
 Cliente.

Precondiciones:
1. La persona que registrara la información debe contar con un username y
contraseña y permisos para de funcionario mostrador
2. Se debe contar con toda la información necesaria para el registro en la
aplicación.
3. El cliente ya debe estar registrado en el sistema.
Flujo Normal:
1. Se debe ingresar a la aplicación.
2. Digitar username y contraseña
3. Ingresar al menú: reparaciones - registrar
4. En esta opción despliega un formulario en el que se iniciara el registro de la
información
5. Se debe en primer lugar asociar a un cliente
6. Se debe asociar uno o unos tipos de servicios
7. Una clase de zapato
8. Una forma de pago

Flujo Alternativo:
5.1 si no se encuentra registro de cliente debe mostar un mensaje que indique que debe
realizar el registro del cliente.

Poscondiciones:
5. Al dar clic en guardar, se validará que los campos obligatorios estén
diligenciados y si así lo es mostrara un mensaje de éxito y presentara un
número de servicio.
6. De lo contrario marcara en rojo los campos que hagan falta.

Nombre: Consulta

Autor: Fabian Morales


Fecha: 02/09/2018

Descripción:
En este módulo se creara la opción de consulta en la que se podrán realizar consultas
de servicio por diferentes criterios de búsqueda. .

Actores:
 Funcionario de la empresa con permisos de acceso a la aplicación

Precondiciones:
1. La persona que registrara la información debe contar con un username y
contraseña.
2. El usuario debe contar con los permisos de consulta
3. Se debe contar con toda la información necesaria para la realización de la
consulta
Flujo Normal:
1. Se debe ingresar a la aplicación.
2. Digitar username y contraseña
3. Ingresar al menú: consulta – servicios
4. En esta opción se debe ingresar ya sea nombres y apellidos o número de cedula
del cliente o número de servicio y dar clic en el botón buscar.
5. La aplicación realiza la búsqueda, si encuentra resultados debe listarlo y en la
parte derecha la opción de ingresar al registro.
6. Si no encuentra resultados para la búsqueda mostrara un mensaje indicando
que no hay resultados para los criterios de la búsqueda.

Flujo Alternativo:
NA

Poscondiciones:
1. La aplicación realiza la búsqueda, si encuentra resultados debe listarlo y en la
parte derecha la opción de ingresar al registro.
2. Si no encuentra resultados para la búsqueda mostrara un mensaje indicando
que no hay resultados para los criterios de la búsqueda.

Nombre: Consulta de reportes

Autor: Fabian Morales


Fecha: 02/09/2018

Descripción:
En este módulo se creara la opción de consulta reportes generados por la aplicación .

Actores:
 Funcionario de la empresa con permisos de acceso a la aplicación con acceso a
reportes.

Precondiciones:
1. La persona que registrara la información debe contar con un username y
contraseña.
2. El usuario debe contar con los permisos de consulta de reportes

Flujo Normal:
1. Se debe ingresar a la aplicación.
2. Digitar username y contraseña
3. Ingresar al menú: consulta – reportes
4. En esta opción se debe seleccionar el tipo de reportes y el perdió de tiempo del
cual requiere el reporte.
5. La aplicación generara el reporte y lo presentará en pantalla o permitirá
descargarlo en Excel o PDF
6. Si no encuentra resultados para la búsqueda mostrara un mensaje indicando
que no hay resultados para los criterios de la búsqueda.

Flujo Alternativo:
4.1. los tipos de reportes serán:
- clientes
- servicios
- por tipo de servicio
- usuario que registra los servicios
- de recaudos

Poscondiciones:
1. La aplicación generará el reporte y lo presentará en pantalla o permitirá
descargarlo en Excel o PDF
2. Si no encuentra resultados para la búsqueda mostrara un mensaje indicando
que no hay resultados para los criterios de la búsqueda.
Requisitos NO Funcionales:

 El sistema debe correr usando la JVM con disponibilidad mínima de 2

Gb RAM

 Los datos se deben almacenar en una base de datos relacional sin

licenciamiento
Conclusiones

 El conocimiento de los conceptos básicos de la POO Programación

orientada a objetos es el punto de partida para poder conocer sus

componentes y desarrollar soluciones integrales para los casos que se

presenten en el ámbito profesional como ingenieros de sistemas.

 La programación Orientada a Objetos es la rama de la informática que

brinda soluciones en el mercado actual y su calidad depende de los

desarrolladores que la administran, del conocimiento y de la creatividad al

momento de utilizar los diferentes lenguajes de programación disponibles

en la actualidad.

 Se elige de manera grupal el proyecto B como práctica a desarrollar

buscando una solución integral y óptima para las necesidades que el

cliente requiere.

 Es importante el estudio previo del caso al cual se dará solución , pues solo

teniendo la idea clara es posible ejecutar el código con el fin de no

especular y de cubrir todas las necesidades dentro de la solución entregada.

S-ar putea să vă placă și